php处理redis
1,connect
描述:实例连接到一个Redis.
参数:host: string,port: int
返回值:BOOL 成功返回:TRUE;失败返回:FALSE
示例:
1
2
3
4
5
|
<?php $redis = new redis(); $result = $redis ->connect( '127.0.0.1' , 6379); var_dump( $result ); //结果:bool(true) ?> |
2,set
描述:设置key和value的值
参数:Key Value
返回值:BOOL 成功返回:TRUE;失败返回:FALSE
示例:
1
2
3
4
5
6
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $result = $redis ->set( 'test' , "11111111111" ); var_dump( $result ); //结果:bool(true) ?> |
3,get
描述:获取有关指定键的值
参数:key
返回值:string或BOOL 如果键不存在,则返回 FALSE。否则,返回指定键对应的value值。
范例:
1
2
3
4
5
6
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $result = $redis ->get( 'test' ); var_dump( $result ); //结果:string(11) "11111111111" ?> |
4,delete
描述:删除指定的键
参数:一个键,或不确定数目的参数,每一个关键的数组:key1 key2 key3 … keyN
返回值:删除的项数
范例:
1
2
3
4
5
6
7
8
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis ->set( 'test' , "1111111111111" ); echo $redis ->get( 'test' ); //结果:1111111111111 $redis -> delete ( 'test' ); var_dump( $redis ->get( 'test' )); //结果:bool(false) ?> |
5,setnx
描述:如果在数据库中不存在该键,设置关键值参数
参数:key value
返回值:BOOL 成功返回:TRUE;失败返回:FALSE
范例:
1
2
3
4
5
6
7
8
9
10
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis ->set( 'test' , "1111111111111" ); $redis ->setnx( 'test' , "22222222" ); echo $redis ->get( 'test' ); //结果:1111111111111 $redis -> delete ( 'test' ); $redis ->setnx( 'test' , "22222222" ); echo $redis ->get( 'test' ); //结果:22222222 ?> |
6,exists
描述:验证指定的键是否存在
参数key
返回值:Bool 成功返回:TRUE;失败返回:FALSE
范例:
1
2
3
4
5
6
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis ->set( 'test' , "1111111111111" ); var_dump( $redis ->exists( 'test' )); //结果:bool(true) ?> |
7,incr
描述:数字递增存储键值键.
参数:key value:将被添加到键的值
返回值:INT the new value
实例:
1
2
3
4
5
6
7
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis ->set( 'test' , "123" ); var_dump( $redis ->incr( "test" )); //结果:int(124) var_dump( $redis ->incr( "test" )); //结果:int(125) ?> |
8,decr
描述:数字递减存储键值。
参数:key value:将被添加到键的值
返回值:INT the new value
实例:
1
2
3
4
5
6
7
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis ->set( 'test' , "123" ); var_dump( $redis ->decr( "test" )); //结果:int(122) var_dump( $redis ->decr( "test" )); //结果:int(121) ?> |
9,getMultiple
描述:取得所有指定键的值。如果一个或多个键不存在,该数组中该键的值为假
参数:其中包含键值的列表数组
返回值:返回包含所有键的值的数组
实例:
1
2
3
4
5
6
7
8
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis ->set( 'test1' , "1" ); $redis ->set( 'test2' , "2" ); $result = $redis ->getMultiple( array ( 'test1' , 'test2' )); print_r( $result ); //结果:Array ( [0] => 1 [1] => 2 ) ?> |
10,lpush
描述:由列表头部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,返回FALSE。
参数:key,value
返回值:成功返回数组长度,失败false
实例:
1
2
3
4
5
6
7
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); var_dump( $redis ->lpush( "test" , "111" )); //结果:int(1) var_dump( $redis ->lpush( "test" , "222" )); //结果:int(2) ?> |
11,rpush
描述:由列表尾部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,返回FALSE。
参数:key,value
返回值:成功返回数组长度,失败false
范例:
1
2
3
4
5
6
7
8
9
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); var_dump( $redis ->lpush( "test" , "111" )); //结果:int(1) var_dump( $redis ->lpush( "test" , "222" )); //结果:int(2) var_dump( $redis ->rpush( "test" , "333" )); //结果:int(3) var_dump( $redis ->rpush( "test" , "444" )); //结果:int(4) ?> |
12,lpop
描述:返回和移除列表的第一个元素
参数:key
返回值:成功返回第一个元素的值 ,失败返回false
范例:
1
2
3
4
5
6
7
8
9
10
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->lpush( "test" , "111" ); $redis ->lpush( "test" , "222" ); $redis ->rpush( "test" , "333" ); $redis ->rpush( "test" , "444" ); var_dump( $redis ->lpop( "test" )); //结果:string(3) "222" ?> |
13,lsize,llen
描述:返回的列表的长度。如果列表不存在或为空,该命令返回0。如果该键不是列表,该命令返回FALSE。
参数:Key
返回值:成功返回数组长度,失败false
范例:
1
2
3
4
5
6
7
8
9
10
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->lpush( "test" , "111" ); $redis ->lpush( "test" , "222" ); $redis ->rpush( "test" , "333" ); $redis ->rpush( "test" , "444" ); var_dump( $redis ->lsize( "test" )); //结果:int(4) ?> |
14,lget
描述:返回指定键存储在列表中指定的元素。 0第一个元素,1第二个… -1最后一个元素,-2的倒数第二…错误的索引或键不指向列表则返回FALSE。
参数:key index
返回值:成功返回指定元素的值,失败false
范例:
1
2
3
4
5
6
7
8
9
10
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->lpush( "test" , "111" ); $redis ->lpush( "test" , "222" ); $redis ->rpush( "test" , "333" ); $redis ->rpush( "test" , "444" ); var_dump( $redis ->lget( "test" ,3)); //结果:string(3) "444" ?> |
15,lset
描述:为列表指定的索引赋新的值,若不存在该索引返回false.
参数:key index value
返回值:成功返回true,失败false
范例:
1
2
3
4
5
6
7
8
9
10
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->lpush( "test" , "111" ); $redis ->lpush( "test" , "222" ); var_dump( $redis ->lget( "test" ,1)); //结果:string(3) "111" var_dump( $redis ->lset( "test" ,1, "333" )); //结果:bool(true) var_dump( $redis ->lget( "test" ,1)); //结果:string(3) "333" ?> |
16,lgetrange
描述:
返回在该区域中的指定键列表中开始到结束存储的指定元素,lGetRange(key, start, end)。0第一个元素,1第二个元素… -1最后一个元素,-2的倒数第二…
参数:key start end
返回值:成功返回查找的值,失败false
范例:
1
2
3
4
5
6
7
8
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->lpush( "test" , "111" ); $redis ->lpush( "test" , "222" ); print_r( $redis ->lgetrange( "test" ,0,-1)); //结果:Array ( [0] => 222 [1] => 111 ) ?> |
17,lremove
描述:从列表中从头部开始移除count个匹配的值。如果count为零,所有匹配的元素都被删除。如果count是负数,内容从尾部开始删除。
参数:key count value
返回值:成功返回删除的个数,失败false
范例:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->lpush( 'test' , 'a' ); $redis ->lpush( 'test' , 'b' ); $redis ->lpush( 'test' , 'c' ); $redis ->rpush( 'test' , 'a' ); print_r( $redis ->lgetrange( 'test' , 0, -1)); //结果:Array ( [0] => c [1] => b [2] => a [3] => a ) var_dump( $redis ->lremove( 'test' , 'a' ,2)); //结果:int(2) print_r( $redis ->lgetrange( 'test' , 0, -1)); //结果:Array ( [0] => c [1] => b ) ?> |
18,sadd
描述:为一个Key添加一个值。如果这个值已经在这个Key中,则返回FALSE。
参数:key value
返回值:成功返回true,失败false
范例:
1
2
3
4
5
6
7
8
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); var_dump( $redis ->sadd( 'test' , '111' )); //结果:bool(true) var_dump( $redis ->sadd( 'test' , '333' )); //结果:bool(true) print_r( $redis ->sort( 'test' )); //结果:Array ( [0] => 111 [1] => 333 ) ?> |
19,sremove
描述:删除Key中指定的value值
参数:key member
返回值:true or false
范例:
1
2
3
4
5
6
7
8
9
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->sadd( 'test' , '111' ); $redis ->sadd( 'test' , '333' ); $redis ->sremove( 'test' , '111' ); print_r( $redis ->sort( 'test' )); //结果:Array ( [0] => 333 ) ?> |
20,smove
描述:将Key1中的value移动到Key2中
参数:srcKey dstKey member
返回值:true or false
范例
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis -> delete ( 'test1' ); $redis ->sadd( 'test' , '111' ); $redis ->sadd( 'test' , '333' ); $redis ->sadd( 'test1' , '222' ); $redis ->sadd( 'test1' , '444' ); $redis ->smove( 'test' , "test1" , '111' ); print_r( $redis ->sort( 'test1' )); //结果:Array ( [0] => 111 [1] => 222 [2] => 444 ) ?> |
21,scontains
描述:检查集合中是否存在指定的值。
参数:key value
返回值:true or false
范例:
1
2
3
4
5
6
7
8
9
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->sadd( 'test' , '111' ); $redis ->sadd( 'test' , '112' ); $redis ->sadd( 'test' , '113' ); var_dump( $redis ->scontains( 'test' , '111' )); //结果:bool(true) ?> |
22,ssize
描述:返回集合中存储值的数量
参数:key
返回值:成功返回数组个数,失败0
范例:
1
2
3
4
5
6
7
8
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->sadd( 'test' , '111' ); $redis ->sadd( 'test' , '112' ); echo $redis ->ssize( 'test' ); //结果:2 ?> |
23,spop
描述:随机移除并返回key中的一个值
参数:key
返回值:成功返回删除的值,失败false
范例
1
2
3
4
5
6
7
8
9
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->sadd( "test" , "111" ); $redis ->sadd( "test" , "222" ); $redis ->sadd( "test" , "333" ); var_dump( $redis ->spop( "test" )); //结果:string(3) "333" ?> |
24,sinter
描述:返回一个所有指定键的交集。如果只指定一个键,那么这个命令生成这个集合的成员。如果不存在某个键,则返回FALSE。
参数:key1, key2, keyN
返回值:成功返回数组交集,失败false
范例:
1
2
3
4
5
6
7
8
9
10
11
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->sadd( "test" , "111" ); $redis ->sadd( "test" , "222" ); $redis ->sadd( "test" , "333" ); $redis ->sadd( "test1" , "111" ); $redis ->sadd( "test1" , "444" ); var_dump( $redis ->sinter( "test" , "test1" )); //结果:array(1) { [0]=> string(3) "111" } ?> |
25,sinterstore
描述:执行sInter命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2… keyN. key1..keyN are intersected as in sInter.
返回值:成功返回,交集的个数,失败false
范例:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->sadd( "test" , "111" ); $redis ->sadd( "test" , "222" ); $redis ->sadd( "test" , "333" ); $redis ->sadd( "test1" , "111" ); $redis ->sadd( "test1" , "444" ); var_dump( $redis ->sinterstore( 'new' , "test" , "test1" )); //结果:int(1) var_dump( $redis ->smembers( 'new' )); //结果:array(1) { [0]=> string(3) "111" } ?> |
26,sunion
描述:
返回一个所有指定键的并集
参数:
Keys: key1, key2, … , keyN
返回值:成功返回合并后的集,失败false
范例:
1
2
3
4
5
6
7
8
9
10
11
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->sadd( "test" , "111" ); $redis ->sadd( "test" , "222" ); $redis ->sadd( "test" , "333" ); $redis ->sadd( "test1" , "111" ); $redis ->sadd( "test1" , "444" ); print_r( $redis ->sunion( "test" , "test1" )); //结果:Array ( [0] => 111 [1] => 222 [2] => 333 [3] => 444 ) ?> |
27,sunionstore
描述:执行sunion命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2… keyN. key1..keyN are intersected as in sInter.
返回值:成功返回,交集的个数,失败false
范例:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->sadd( "test" , "111" ); $redis ->sadd( "test" , "222" ); $redis ->sadd( "test" , "333" ); $redis ->sadd( "test1" , "111" ); $redis ->sadd( "test1" , "444" ); var_dump( $redis ->sinterstore( 'new' , "test" , "test1" )); //结果:int(4) print_r( $redis ->smembers( 'new' )); //结果:Array ( [0] => 111 [1] => 222 [2] => 333 [3] => 444 ) ?> |
28,sdiff
描述:返回第一个集合中存在并在其他所有集合中不存在的结果
参数:Keys: key1, key2, … , keyN: Any number of keys corresponding to sets in redis.
返回值:成功返回数组,失败false
范例:
1
2
3
4
5
6
7
8
9
10
11
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->sadd( "test" , "111" ); $redis ->sadd( "test" , "222" ); $redis ->sadd( "test" , "333" ); $redis ->sadd( "test1" , "111" ); $redis ->sadd( "test1" , "444" ); print_r( $redis ->sdiff( "test" , "test1" )); //结果:Array ( [0] => 222 [1] => 333 ) ?> |
29,sdiffstore
描述:执行sdiff命令并把结果储存到新建的变量中。
参数:
Key: dstkey, the key to store the diff into.
Keys: key1, key2, … , keyN: Any number of keys corresponding to sets in redis
返回值:成功返回数字,失败false
范例:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->sadd( "test" , "111" ); $redis ->sadd( "test" , "222" ); $redis ->sadd( "test" , "333" ); $redis ->sadd( "test1" , "111" ); $redis ->sadd( "test1" , "444" ); var_dump( $redis ->sdiffstore( 'new' , "test" , "test1" )); //结果:int(2) print_r( $redis ->smembers( 'new' )); //结果:Array ( [0] => 222 [1] => 333 ) ?> |
30,smembers, sgetmembers
描述:
返回集合的内容
参数:Key: key
返回值:An array of elements, the contents of the set.
范例:
1
2
3
4
5
6
7
8
|
<?php $redis = new redis(); $redis ->connect( '127.0.0.1' , 6379); $redis -> delete ( 'test' ); $redis ->sadd( "test" , "111" ); $redis ->sadd( "test" , "222" ); print_r( $redis ->smembers( 'test' )); //结果:Array ( [0] => 111 [1] => 222 ) ?> |
php处理redis的更多相关文章
- 使用redis构建可靠分布式锁
关于分布式锁的概念,具体实现方式,直接参阅下面两个帖子,这里就不多介绍了. 分布式锁的多种实现方式 分布式锁总结 对于分布式锁的几种实现方式的优劣,这里再列举下 1. 数据库实现方式 优点:易理解 缺 ...
- Ignite性能测试以及对redis的对比
测试方法 为了对Ignite做一个基本了解,做了一个性能测试,测试方法也比较简单主要是针对client模式,因为这种方法和使用redis的方式特别像.测试方法很简单主要是下面几点: 不作参数优化,默认 ...
- mac osx 安装redis扩展
1 php -v查看php版本 2 brew search php|grep redis 搜索对应的redis ps:如果没有brew 就根据http://brew.sh安装 3 brew ins ...
- Redis/HBase/Tair比较
KV系统对比表 对比维度 Redis Redis Cluster Medis Hbase Tair 访问模式 支持Value大小 理论上不超过1GB(建议不超过1MB) 理论上可配置(默认配置1 ...
- Redis数据库
Redis是k-v型数据库的典范,设计思想及数据结构实现都值得学习. 1.数据类型 value支持五种数据类型:1.字符串(strings)2.字符串列表(lists)3.字符串集合(sets)4.有 ...
- redis 学习笔记(2)
redis-cluster 简介 redis-cluster是一个分布式.容错的redis实现,redis-cluster通过将各个单独的redis实例通过特定的协议连接到一起实现了分布式.集群化的目 ...
- redis 学习笔记(1)
redis持久化 snapshot数据快照(rdb) 这是一种定时将redis内存中的数据写入磁盘文件的一种方案,这样保留这一时刻redis中的数据镜像,用于意外回滚.redis的snapshot的格 ...
- python+uwsgi导致redis无法长链接引起性能下降问题记录
今天在部署python代码到预生产环境时,web站老是出现redis链接未初始化,无法连接到服务的提示,比对了一下开发环境与测试环境代码,完全一致,然后就是查看各种日志,排查了半天也没有查明是什么原因 ...
- nginx+iis+redis+Task.MainForm构建分布式架构 之 (redis存储分布式共享的session及共享session运作流程)
本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,上一篇分享文章制作是在windows上使用的nginx,一般正式发布的时候是在linux来配 ...
- windows+nginx+iis+redis+Task.MainForm构建分布式架构 之 (nginx+iis构建服务集群)
本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,由标题就能看出此内容不是一篇分享文章能说完的,所以我打算分几篇分享文章来讲解,一步一步实现分 ...
随机推荐
- CodeForces - 691E Xor-sequences 【矩阵快速幂】
题目链接 http://codeforces.com/problemset/problem/691/E 题意 给出一个长度为n的序列,从其中选择k个数 组成长度为k的序列,因为(k 有可能 > ...
- iOS 当公司有人向你提问,你该如何应对?
今天 因为iOS 开发的内部版本号耿耿于怀好久,释然后让我有了一个新想法:从前,能让我兴奋的点是解决一个有一个拗脑筋的问题,见大部分博客便知,都是技术方面的积累. 那么从今天起我决定让自己有个新起点, ...
- Linux Shell编程 sort、wc命令
sort命令:字符串排序 sort 命令可以依据不同的数据类型来进行排序.sort 将文件的每一行作为一个单位,相互比较.比较原则是从首字符向后,依次按 ASCII 码值进行比较,最后将它们按升序输出 ...
- HA 脑裂原理
HA 脑裂原理 “裂脑”,乃一个形象的术语,系HA系统危机情景. 引子:“裂脑”是治疗“癫痫”病的一种手术.医生们认为癫痫病发作是由于大脑“异常放电”所至.为了阻止“异常放电”波及整个大脑(左.右半脑 ...
- Squid 正向代理配置
Squid 正向代理配置 1.删除主配置文件重写写入配置 rm -f /etc/squid/squid.conf 2.重新写入配置正向代理 vim /etc/squid/squid.conf # 监听 ...
- 断点续传JAVA实现
支持H5 Video标签播放,迅雷下载 /** * 断点续传工具 * @author lxycx_xc * 时间:2017年11月30日 */ public class BreakpointResum ...
- hadoop程序在本地模式调试作业
1.首先下载cygwin,例如安装在该目录下,D:\Program Files\cygwin\ 2.copy linux上的jar包到D:\Program Files\cygwin\home\lib ...
- centos7安装MPlyaer
最近更换了centos7系统,对新系统的操作不是太熟悉.大神轻喷.昨晚突然想要下个电影看看,结果发现系统自带的播放器支持的视频格式有限,google查了一下,他们推荐使用MPlayer.于是经过一通g ...
- mssql 函数STUFF 的用法
DECLARE @limitDay INT;SET @limitDay = 92;IF DATEDIFF(DAY, '2017-12-13 00:00:00', '2017-12-13 18:00:0 ...
- 天地图OGC WMTS服务规则
图层名称 服务地址 投影类型 矢量底图 http://t0.tianditu.gov.cn/vec_c/wmts?tk=您的密钥 经纬度投影 http://t0.tianditu.gov.cn/vec ...