8.Redis系列之set

特征:无序、去重

命令:
增加:SADD key v1 v2 v3 v4 ... 可以自动去重
删除:SREM key v1 v2
查找:SMEMBERS key

集合操作:
交集:SINTER k1 k2 显示k1和k2的交集
SINTERSTORE dest k1 k2 将k1和k2的交集存到dest中

并集:SUNION k1 k2 显示k1和k2的并集
SUNION dest k1 k2 将k1和k2的并集存入dest中

差集:SDIFF k1 k2 取在k1中但不在k2中的元素

集合中随机事件:
SRANDMEMBER key count1 count2 count3 ...
如果count为正,则取出一个去重的结果集,不能超过已有集合的元素数量
如果count为负,则取出一个带重复的结果集,一定满足你要的数量
如果count为0,则不返回
作用:
1.抽奖:抽奖用户数量可以大于奖品数量,也可以小于奖品数量,中奖用户可以重复,也可以不重复
抽奖的话集合里面放的是参与抽奖的人,count为正参与抽奖的人不能重复中奖,count为负参与抽奖的人可以重复中奖
2.解决家庭纠纷:

SPOP key1:从key1的集合中每次随机取出一个(每执行一次,key1集合中的元素就会少一个)

SMEMBERS这个命令会消耗Redis所在主机网卡的吞吐量,导致该主机上其他Redis请求变慢

如果必须使用这个功能,可以单独找几个服务器用作这个功能

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容