1,PHP 操作Redis-Set集合
$redis->sAdd('Set1', 'value11');//value1插入集合中
$redis->sAdd('Set1', 'value11');//value1插入集合中(重复忽略)
$redis->sAddArray('Set1', ['value12','value13']);//批量插入
$redis->sAddArray('Set2', ['value21', 'value22', 'value23']);//批量插入
$Set1Arr = $redis->sMembers('Set1');//取数据
$Set1DiffSet2 = $redis->sDiff('Set1', 'Set2');//返回Set1中没有Set2的数据
$redis->sDiffStore('Set3','Set1', 'Set2');//把Set1中没有Set2的数据 保存到Set3中
$Set1InterSet2 = $redis->sInter('Set1', 'Set3');//取两个集合交集
$redis->sDiffStore('Set4','Set1', 'Set3');//把两个集合交集的数据 保存到Set4中
$Set1UnionSet2 = $redis->sUnion('Set1', 'Set2');//取两个集合并集
$redis->sUnionStore('Set5', 'Set1', 'Set2');//把两个集合并集的数据 保存到Set5中
$Set4Ex = $redis->sIsMember('Set4', 'value1');//判断value1是否存在在Set4
print_r($Set1Arr);
print_r($Set1DiffSet2);
print_r($redis->sMembers('Set3'));
print_r($Set1InterSet2);
print_r($redis->sMembers('Set4'));
print_r($Set1UnionSet2);
print_r($redis->sMembers('Set5'));
print $Set4Ex . "\r\n";
运行结果
Array
(
[0] => value13
[1] => value11
[2] => value12
)
Array
(
[0] => value13
[1] => value11
[2] => value12
)
Array
(
[0] => value13
[1] => value11
[2] => value12
)
Array
(
[0] => value13
[1] => value11
[2] => value12
)
Array
(
)
Array
(
[0] => value13
[1] => value11
[2] => value12
[3] => value21
[4] => value22
[5] => value23
)
Array
(
[0] => value13
[1] => value11
[2] => value12
[3] => value21
[4] => value22
[5] => value23
)
Set总结一下
关于写入:
sAdd(k,v)
sAddArray(k,[v1,v2])
关于取出:
sMembers(k)
关于操作:
sDiff(k1,k2);//返回差集
sDiffStore(k3,k2,k1);//差集保存到新的集合中sInter(k1,k2);//返回交集
sDiffStore(k3,k2,k1);//交集保存到新的集合中sUnion(k1,k2);//返回并集
sUnionStore(k3,k2,k1);//并集保存到新的集合中sIsMember(k, v);//判断是否存在
关于删除:
sMove(k1,k2,v)//把v从k1移动到k2中
sPOP(k)//移除并返回一个随机的元素
sRem(k,v[v1,v2])//删除一个或多个元素
注意:sPOP 随机删除并且返回