php操作redis--集合(set)篇

Posted 平湖平

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php操作redis--集合(set)篇相关的知识,希望对你有一定的参考价值。

常用命令:sAdd,sMembers,sPop,sUnion等

应用场景:与list类型类似,是一个列表的功能,不同的是set可以自动排重,提供了一个判断某一个成员是否存在一个set集合内的重要接口。

连接

$redis = new Redis();

$redis->connect(‘127.0.0.1‘,‘6379‘);

添加:成功返回1,存在相同的值返回0

echo $redis->sAdd(‘set‘,‘cat‘);   //1

echo $redis->sAdd(‘set‘,‘cat‘);   //0

echo $redis->sAdd(‘set‘,‘dog‘);   //1

查看集合中的所有元素

print_r($redis->sMembers(‘set‘));   //Array ( [0] => cat [1] => dog )

判断元素是否是集合的成员

var_dump($redis->sIsMember(‘set‘,‘dog‘));   //boolean true

查看集合中成员的数量

echo $redis->sCard(‘set‘);  //2

 

删除集合中指定值的元素 

echo $redis->sRem(‘set‘,‘dog‘);  //1

移除并返回集合中的一个随机元素

echo $redis->sPop(‘set‘);  //cat

 

拓展:

假设有两个集合并存在交集,set1,set2

返回集合的交集

print_r($redis->sInter(‘set1‘,‘set2‘));

把交集放到一个集合里

$redis->sInterStore(‘output‘,‘set1‘,‘set2‘);

返回集合的并集

print_r($redis->sUnion(‘set1‘,‘set2‘));

把并集放到一个集合里

$redis->sUnionStore(‘output2‘,‘set1‘,‘set2‘);

返回集合的差集

print_r($redis->sDiff(‘set1‘,‘set2‘));

把并集放到一个集合里

$redis->sDiffStore(‘output3‘,‘set1‘,‘set2‘);

以上是关于php操作redis--集合(set)篇的主要内容,如果未能解决你的问题,请参考以下文章

Redis系列-存储篇sorted set主要操作命令

redis 在 php 中的应用(Sorted-set篇)

PHP操作redis

PHP操作redis

PHP操作redis

redis入门到精通系列:redis操作的两个实践案例