Redis Set操作
1、sAdd
向名称为key的set中添加元素value,如果value存在,不写入,return false
php
$redis->sAdd(key , value);
2、sRem, sRemove
删除名称为key的set中的元素value
$redis->sAdd('key1' , 'set1');
$redis->sAdd('key1' , 'set2');
$redis->sAdd('key1' , 'set3');
$redis->sRem('key1', 'set2');
3、sMove
将value元素从名称为srckey的集合移到名称为dstkey的集合
$redis->sMove(seckey, dstkey, value);
4、sIsMember, sContains
名称为key的集合中查找是否有value元素,有ture 没有 false
$redis->sIsMember(key, value);
5、sCard, sSize
返回名称为key的set的元素个数
6、sPop
随机返回并删除名称为key的set中一个元素
7、sRandMember
随机返回名称为key的set中一个元素,不删除
8、sInter
求交集
9、sInterStore
求交集并将交集保存到output的集合
$redis->sInterStore('output', 'key1', 'key2', 'key3')
10、sUnion
求并集
$redis->sUnion('s0', 's1', 's2');
s0,s1,s2 同时求并集
11、sUnionStore
求并集并将并集保存到output的集合
$redis->sUnionStore('output', 'key1', 'key2', 'key3');
12、sDiff
求差集
13、sDiffStore
求差集并将差集保存到output的集合
14、sMembers, sGetMembers
返回名称为key的set的所有元素
15、sort
排序,分页等
参数
'by' => 'some_pattern_*',
'limit' => array(0, 1),
'get' => 'some_other_pattern_*' or an array of patterns,
'sort' => 'asc' or 'desc',
'alpha' => TRUE,
'store' => 'external-key'
例子
$redis->delete('s'); $redis->sadd('s', 5); $redis->sadd('s', 4); $redis->sadd('s', 2); $redis->sadd('s', 1); $redis->sadd('s', 3);
var_dump($redis->sort('s')); // 1,2,3,4,5
var_dump($redis->sort('s', array('sort' => 'desc'))); // 5,4,3,2,1
var_dump($redis->sort('s', array('sort' => 'desc', 'store' => 'out'))); // (int)5