redis的set集合常用操作

redis中set的常用操作,功能类似于java中的set

  1. 向一个set集合中加值
sadd [key] [value1] [value2] ...
# 一系列value中,重复的value不会被重复添加
  1. 遍历set中的所有元素
smembers [key]
  1. 检查set中是否有这个元素
sismember [key] [value]
# 检查这个set中是否有value这个元素
  1. 获取set集合中有是多少个元素
scard [key]
# 没什么好说的额
  1. 删除集合里的某个元素
srem [key] [value]
# 将set中的value元素删除掉
  1. 随机从一个set集合中抽取n个元素
srandmember [key] [number]
# 从set集合中随机抽取number个元素
  1. 随机出栈
spop [key] [可选number]
# 随机从set集合选取一个值提取删除
# 如果输入number就是随机提取number个元素并删除
  1. 将set1中的某个值移到set2中
smove [set1] [set2] [value]
# 将set1中的value移动到set2中

数学集合

  1. 差集
sdiff [key] [key1] [key2] [key3] ....
# 将key所代表的set集合中所特有的元素罗列出来
# 对比是key1,key2,key3等
# 也就是说如果key中的元素在后面的那些set集合中没有,则罗列出来
  1. 交集
sinter [key1] [key2] [key3] [key4] ...
# 必须所有这些set集合都共有的元素,才会被罗列出来
  1. 并集
sunion [key1] [key2] [key3] [key4] ...
# 所有集合的元素都会被去重后罗列

  1. 存值的时候,貌似保存进这个set的顺序是无法保证的,可能和java的hashset的算法一样,是无序的,排序顺序可能和hash值的算法有关. 目前set的数据结构还不清楚

推荐阅读更多精彩内容

  • 上一篇文章介绍了Set集合的通用知识。Set集合中包含了三个比较重要的实现类:HashSet、TreeSet和En...
    Ruheng阅读 13,645评论 3 56
  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 3,207评论 0 11
  • 3.3 集合 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另...
    闫子扬阅读 519评论 0 1
  • Redis的五种数据结构如下: String:字符串 Hash:字典 List:列表 Set:集合 Sorted ...
    yannhuang阅读 4,728评论 0 2
  • 印度导演塔森谈到“创意人的身价”的一段话: “你付出了一个价钱,不是只买到我的导演能力及来替你工作的这段时间,而是...
    金克木阅读 274评论 0 0
  • 第四重天:散发爱能量 (自2015-11-17开启本阶段) 某某人,你觉得自己的人生中,过去或现在,曾经或正在,有...
    李英花阅读 82评论 0 0
  • 关于轮询 javascript是如何实现轮询的 轮询一般用setInterval函数来做,然后在里面设置轮询结束条...
    清水芦苇阅读 247评论 0 0