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的数据结构还不清楚
    原文作者:吐痰高手
    原文地址: https://www.jianshu.com/p/0c1fc41c242e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞