文章14 | 阅读 5007 | 点赞0
我的系统版本为CentOS7.5,redis版本5.0.4
Redis的Set是string类型的无序集合。
集合中的元素有唯一性,重复添加会被忽略。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。
#userset集合中添加super1 super2 super3
sadd userset super1 super2 super3
#读取userset集合中的元素
smembers userset
#获取userset集合中的元素个数
scard userset
#判断super是否为userset集合成员
sismember userset super
#移动super元素从userset到newuser,移动为原子操作,如果不指定元素或者不存在的元素则不进行操作返回0
smove userset super newuser
#随机读取userset中的n个元素,如果不指定数量默认为1一个元素
srandmember userset 5
#随机读取userset中的n个元素,并移除,如果不指定数量默认为1一个元素
spop userset 5
#迭代userset中以s开头的元素
sscan userset 0 match s*
#移除userset中的指定元素
srem userset user1 user2
差并集运算:
#差集运算, Redis Sdiff 命令返回给定集合之间的差集。不存在的集合 key 将视为空集。差集的结果来自前面的 FIRST_KEY ,而不是后面的 OTHER_KEY1,也不是整个 FIRST_KEY OTHER_KEY1..OTHER_KEYN 的差集。
key1 = {a,b,c,d}
key2 = {c}
key3 = {a,c,e}
SDIFF key1 key2 key3 = {b,d}
#差集运算,并将结果保存在myset中
sdiffstore myset userset newuser
#计算userset和newuser的交集
sinter userset newuser
#计算userset和newuser的交集,并将结果保存在myset中
sinterstore myset userset newuser
#计算并集
sunion userset newuser
#计算并集,并将结果保存在myset中
sunionstore myset userset newuser
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/Super_RD/article/details/89521914
内容来源于网络,如有侵权,请联系作者删除!