集合。可以和列表项比较
存储内容是一致的。
集合是无序的。
集合必须保证唯一性
集合场景应用.
1.最基本的应用就是可以做数学集合运算
2.假设在社交网路中,每个人都是一个集合,集合里面有其个人的一些兴趣爱好。那么通过集合的交集运算,就可以找出和你有相管兴趣的人,可运 用于匹配系统,还有类似个人学历,工作地点,出生地点,通过集合运算以此来发现相近的人。
3.并集运用于,假如在有限的空间资源下,不同老师对一些教室资源的利用时间表可以做成集合。所有老师并集运算可以得出教室资源的总利用率,交集可以查看是否有冲突。
4.总结,集合在规划一些特性还有时间段是否相同或者对一些东西进行归并,有有着很好的效果。
sadd key member [member1....] 向集合key添加元素member1,2,3
srem key member 移除元素
smembers key 返回集合所有的元素值
scard key 返回集合个数
sismember key value 判断value是否是key中的元素
sdiff setA setB 差集
sinter setA setB 交集
sunion setA setB 并集
sdiffstore destination key1 key2 将key1,key2的运算结果给destination
srandmember key [count] 随机返回若count个元素
spop key 从集合弹出一个元素
<?php
$redis = new Redis;
$redis->connect('192.168.104.10',6379);
$redis->sAdd('setA',1,2,3); //创建集合A,并传入1,2,3 三个元素
$redis->sRem('setA',1);//从集合A去掉1 元素
print_r($redis->sMembers('setA'));//获得集合所有元素
//现在setA只有 2 3
echo "<hr>";
print $redis->sCard('setA');
echo "<hr>";
print $redis->sIsMember('setA',2);
$redis->sAdd('setB',1,2); //创建集合A,并传入1,2 三个元素
echo "<hr>";
echo "A-B";
print_r($redis->sDiff('setA','setB')); //集合差运算
echo "<hr>";
echo "A∪B";
print_r($redis->sInter('setA','setB'));//集合交运算
echo "<hr>";
echo "A∩B";
print_r($redis->sUnion('setA','setB'));//集合并运算
echo "<hr>返回随机值";
print_r($redis->sRandMember('setA',1)); //返回一个随机值
$redis->sPop('setA'); //随机选择一个元素弹出
?>