集合类型在redis内部是使用值为空的散列表(hash table)实现的,所以这些操作的时间复杂度都是O(1)。
1.增加/删除元素
sadd key member [member...] 增加元素
srem key member [member...] 删除元素
sadd命令用来向集合中增加一个或多个元素,如果不存在则会自动创建。因为在一个集合中不能有相同的元素,所以如果要加入的元素已经存在于集合中就会忽略这个元素。
2.获取集合中所有的元素
smembers key
3.判断元素是否在集合中
sismember key member
4.集合间运算
sdiff key [key...] 差集运算
sinter key [key...] 交集运算
sunion key [key...] 并集运算
5.获取集合中元素个数
scard key
6.进行集合运算并将结果存储
sdiffstore destination key [key...]
sinterstore destination key [key...]
sunionstore destination key [key...]
7.随机获得集合中的元素
srandmember key [count]
可以传递count参数来一次随机获得多个元素,根据count的正负不同,具体表现也不同。
- 当count>0时,随机从集合中获得count个不重复的元素。如果count的值大于集合中的元素个数,则返回集合中全部的元素。
- 当count<0时,随机从集合中获得|count|个的元素,这些元素可能相同。
8.从集合中弹出元素
spop key [count]
随机从集合中弹出count个元素