操作string类型、list类型和set类型的数据,需要的朋友可以参考下
redis的操作很多的,以前看到一个比较全的博客,但是现在找不到了。查个东西搜半天,下面整理一下php-redis
php处理redis的例子,个人觉得常用一些例子。下面的例子都是基于
这个扩展的。
1,connect
描述:实例连接到一个
Redis.
参数:host:string,port:int
返回值:BOOL成功返回:TRUE;失败返回:FALSE
示例:
=newredis();
=$redis->connect('127.0.0.1',
//结果:bool(true)
6379);
var_dump($result);?>
2,set
描述:设置key和value的值参数:KeyValue
返回值:BOOL成功返回:TRUE;失败返回:FALSE示例:
=newredis();
6379);
$redis->connect('127.0.0.1',
$result=$redis->set('test',\"11111111111\");
//结果:bool(true)
var_dump($result);?>
3,get
描述:获取有关指定键的值参数:key
返回值:string或BOOL如果键不存在,则返回值。范例:
FALSE。否则,返回指定键对应的
value
=newredis();
6379);
$redis->connect('127.0.0.1',$result
=$redis->get('test');
var_dump($result);?>
//结果:string(11)\"11111111111\"
4,delete
描述:删除指定的键
参数:一个键,或不确定数目的参数,每一个关键的数组:返回值:删除的项数范例:
key1key2key3…keyN
=newredis();
$redis->connect('127.0.0.1',$redis->set('test',\"1111111111111\");echo$redis->get('test');$redis->delete('test');var_dump($redis->get('test'));?>
6379);
//结果:1111111111111
//结果:bool(false)
5,setnx
描述:如果在数据库中不存在该键,设置关键值参数参数:keyvalue
返回值:BOOL成功返回:TRUE;失败返回:FALSE
范例:
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->set('test',\"1111111111111\");$redis->setnx('test',\"22222222\");echo$redis->get('test');$redis->delete('test');
$redis->setnx('test',\"22222222\");echo$redis->get('test');?>
//结果:1111111111111
//结果:22222222
6,exists
描述:验证指定的键是否存在参数key
返回值:Bool成功返回:TRUE;失败返回:FALSE范例:
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->set('test',\"1111111111111\");var_dump($redis->exists('test'));?>
//结果:bool(true)
7,incr
描述:数字递增存储键值键.
参数:keyvalue:将被添加到键的值返回值:INTthenewvalue实例:
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->set('test',\"123\");var_dump($redis->incr(\"test\"));var_dump($redis->incr(\"test\"));?>
//结果:int(124)//结果:int(125)
8,decr
描述:数字递减存储键值。
参数:keyvalue:将被添加到键的值返回值:INTthenewvalue实例:
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->set('test',\"123\");var_dump($redis->decr(\"test\"));var_dump($redis->decr(\"test\"));?>
//结果:int(122)//结果:int(121)
9,getMultiple
描述:取得所有指定键的值。如果一个或多个键不存在,该数组中该键的值为假参数:其中包含键值的列表数组返回值:返回包含所有键的值的数组实例:
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->set('test1',\"1\");$redis->set('test2',\"2\");$result
=$redis->getMultiple(array('test1','test2'));
//结果:Array
([0]
=>1[1]
=>2)
print_r($result);?>
10,lpush
描述:由列表头部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,返回参数:key,value
返回值:成功返回数组长度,失败实例:
false
FALSE。
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->delete('test');
var_dump($redis->lpush(\"test\var_dump($redis->lpush(\"test\?>
//结果:int(1)//结果:int(2)
11,rpush
描述:由列表尾部添加字符串值。如果不存在该键则创建该列表。如果该键存在,而且不是一个列表,返回参数:key,value
返回值:成功返回数组长度,失败范例:
false
FALSE。
=newredis();
$redis->connect('127.0.0.1',$redis->delete('test');
var_dump($redis->lpush(\"test\var_dump($redis->lpush(\"test\var_dump($redis->rpush(\"test\var_dump($redis->rpush(\"test\?>
6379);
//结果:int(1)//结果:int(2)//结果:int(3)//结果:int(4)
12,lpop
描述:返回和移除列表的第一个元素参数:key
返回值:成功返回第一个元素的值范例:
,失败返回false
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->delete('test');$redis->lpush(\"test\$redis->lpush(\"test\$redis->rpush(\"test\$redis->rpush(\"test\var_dump($redis->lpop(\"test\"));?>
//结果:string(3)\"222\"
13,lsize,llen
描述:返回的列表的长度。如果列表不存在或为空,该命令返回命令返回FALSE。参数:Key
0。如果该键不是列表,该
返回值:成功返回数组长度,失败范例:
false
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->delete('test');$redis->lpush(\"test\$redis->lpush(\"test\$redis->rpush(\"test\$redis->rpush(\"test\var_dump($redis->lsize(\"test\"));?>
//结果:int(4)
14,lget
描述:返回指定键存储在列表中指定的元素。0第一个元素,1第二个…-1最后一个元素,
FALSE。
-2的倒数第二…错误的索引或键不指向列表则返回参数:keyindex
返回值:成功返回指定元素的值,失败范例:
false
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->delete('test');$redis->lpush(\"test\$redis->lpush(\"test\$redis->rpush(\"test\$redis->rpush(\"test\var_dump($redis->lget(\"test\?>
//结果:string(3)\"444\"
15,lset
描述:为列表指定的索引赋新的值参数:keyindexvalue返回值:成功返回范例:
true,失败false
,若不存在该索引返回false.
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->delete('test');$redis->lpush(\"test\$redis->lpush(\"test\var_dump($redis->lget(\"test\var_dump($redis->lset(\"test\var_dump($redis->lget(\"test\?>
//结果:string(3)\"111\"
//结果:bool(true)
//结果:string(3)
\"333\"
16,lgetrange
描述:
返回在该区域中的指定键列表中开始到结束存储的指定元素,
lGetRange(key,
start,end)。
0第一个元素,1第二个元素…-1最后一个元素,-2的倒数第二…参数:keystartend
返回值:成功返回查找的值,失败范例:
false
=newredis();
6379);
$redis->connect('www.mntuku.cn',$redis->delete('test');$redis->lpush(\"test\$redis->lpush(\"test\
print_r($redis->lgetrange(\"test\11)?>
//结果:Array([0]=>222[1]=>1
17,lremove
描述:从列表中从头部开始移除被删除。如果
count个匹配的值。如果count为零,所有匹配的元素都
count是负数,内容从尾部开始删除。
参数:keycountvalue
返回值:成功返回删除的个数,失败范例:
false
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->delete('test');$redis->lpush('test','a');$redis->lpush('test','b');$redis->lpush('test','c');$redis->rpush('test','a');print_r($redis->lgetrange('test',[2]
=>a[3]
=>a)
0,-1));//结果:Array([0]=>c[1]=>b
var_dump($redis->lremove('test','a',2));print_r($redis->lgetrange('test',
0,-1));
//结果:int(2)//结果:Array
([0]
=>c[1]
=>b)
?>
18,sadd
描述:为一个Key添加一个值。如果这个值已经在这个Key中,则返回FALSE。
参数:keyvalue返回值:成功返回范例:
true,失败false
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->delete('test');
var_dump($redis->sadd('test','111'));var_dump($redis->sadd('test','333'));print_r($redis->sort('test'));?>
//结果:bool(true)//结果:bool(true)
//结果:Array
([0]
=>111[1]
=>333)
19,sremove
描述:删除Key中指定的value值参数:keymember返回值:trueorfalse范例:
=newredis();
6379);
$redis->connect('127.0.0.1',$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中参数:srcKeydstKeymember返回值:trueorfalse范例
=newredis();
6379);
$redis->connect('127.0.0.1',$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\print_r($redis->sort('test1'));=>444)?>
//结果:Array([0]=>111[1]=>222[2]
21,scontains
描述:检查集合中是否存在指定的值。参数:keyvalue返回值:trueorfalse范例:
=newredis();
6379);
$redis->connect('127.0.0.1',$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
=newredis();
6379);
$redis->connect('127.0.0.1',
$redis->delete('test');$redis->sadd('test','111');$redis->sadd('test','112');echo$redis->ssize('test');?>
//结果:2
23,spop
描述:随机移除并返回参数:key
key中的一个值
返回值:成功返回删除的值,失败范例:
false
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->delete('test');$redis->sadd(\"test\$redis->sadd(\"test\$redis->sadd(\"test\var_dump($redis->spop(\"test\"));?>
//结果:string(3)\"333\"
24,sinter
描述:返回一个所有指定键的交集。如果不存在某个键,则返回参数:key1,key2,keyN
如果只指定一个键,那么这个命令生成这个集合的成员。
FALSE。
返回值:成功返回数组交集,失败范例:
false
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->delete('test');$redis->sadd(\"test\$redis->sadd(\"test\$redis->sadd(\"test\$redis->sadd(\"test1\$redis->sadd(\"test1\
var_dump($redis->sinter(\"test\\"111\"?>
}
//结果:array(1){[0]=>string(3)
25,sinterstore
描述:执行sInter命令并把结果储存到新建的变量中。参数:
Key:dstkey,thekeytostorethediffinto.Keys:key1,key2…keyN.key1..keyN返回值:成功返回,交集的个数,失败范例:
areintersectedfalse
asinsInter.
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->delete('test');
$redis->sadd(\"test\$redis->sadd(\"test\$redis->sadd(\"test\$redis->sadd(\"test1\$redis->sadd(\"test1\
var_dump($redis->sinterstore('new',\"test\var_dump($redis->smembers('new'));
//结果:array(1)
//结果:int(1){[0]=>
string(3)
\"111\"
}
?>
26,sunion
描述:
返回一个所有指定键的并集参数:
Keys:key1,key2,…,keyN返回值:成功返回合并后的集,失败范例:
false
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->delete('test');$redis->sadd(\"test\$redis->sadd(\"test\$redis->sadd(\"test\$redis->sadd(\"test1\$redis->sadd(\"test1\
print_r($redis->sunion(\"test\22[2]
=>333[3]
=>444)
//结果:Array([0]=>111[1]=>2
?>
27,sunionstore
描述:执行sunion命令并把结果储存到新建的变量中。参数:
Key:dstkey,thekeytostorethediffinto.Keys:key1,key2…keyN.key1..keyN返回值:成功返回,交集的个数,失败范例:
areintersectedfalse
asinsInter.
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->delete('test');$redis->sadd(\"test\$redis->sadd(\"test\$redis->sadd(\"test\$redis->sadd(\"test1\$redis->sadd(\"test1\
var_dump($redis->sinterstore('new',\"test\print_r($redis->smembers('new'));=>333[3]?>
=>444)
//结果:Array
([0]
//结果:int(4)=>111[1]
=>222[2]
28,sdiff
描述:返回第一个集合中存在并在其他所有集合中不存在的结果参数:Keys:key1,key2,…,keyN:Anynumber
ofkeyscorresponding
tosetsinredis.
返回值:成功返回数组,失败范例:
false
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->delete('test');$redis->sadd(\"test\$redis->sadd(\"test\$redis->sadd(\"test\$redis->sadd(\"test1\$redis->sadd(\"test1\print_r($redis->sdiff(\"test\3)?>
//结果:Array([0]=>222[1]=>33
29,sdiffstore
描述:执行sdiff命令并把结果储存到新建的变量中。参数:
Key:dstkey,thekeytostorethediffinto.Keys:key1,key2,…,keyN:Anynumber返回值:成功返回数字,失败范例:
false
ofkeyscorresponding
tosetsinredis
=newredis();
6379);
$redis->connect('127.0.0.1',
$redis->delete('test');$redis->sadd(\"test\$redis->sadd(\"test\$redis->sadd(\"test\$redis->sadd(\"test1\$redis->sadd(\"test1\
var_dump($redis->sdiffstore('new',\"test\print_r($redis->smembers('new'));?>
//结果:Array
([0]
//结果:int(2)=>222[1]
=>333)
30,smembers,sgetmembers
描述:返回集合的内容参数:Key:key
返回值:Anarrayofelements,范例:
thecontents
oftheset.
=newredis();
6379);
$redis->connect('127.0.0.1',$redis->delete('test');$redis->sadd(\"test\$redis->sadd(\"test\print_r($redis->smembers('test'));?>
//结果:Array([0]=>111[1]=>222)
php-redis当中,有很多不同名字,但是功能一样的函数,例如:lrem和lremove,这里
就不例举了。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务