Redis学习(七):集合类型(Set)
一、介绍
集合中的每个元素都是不同的,且没有顺序。
集合在redis内部是使用值为空的散列表实现的。所以向集合中加入、删除元素、判断某个元素是否存在的时间复杂度都是O(1).多个集合之间还可以进行交集、并集和差集运算。
二、和列表类型的对比
三、适用场景
1.多条件查询
四、命令
1.增加/删除元素
SADD key member [ member ... ]:返回成功加入的元素数量
SREM key member [ member ... ]:返回成功删除的元素数量
2.获取集合中所有元素
SMEMBERS key
3.获取集合中元素的个数
SCARD key
4.判断元素是否在集合中(注意通exists key区分)
SISMEMBER key member
5.集合间的运算
SDIFF key [ key ... ]:对多个集合执行差集运算
SINTER key [ key ... ]:对多个集合执行交集运算
SUNION key [ key ... ]:对多个集合执行并集计算
6.进行集合间运算并将运算结果存储
SDIFFSTORE/SINTERSTORE/SUNIONSTORE destination key [ key ... ]
7.从集合中(随机)弹出一个元素
SPOP key
8.随机获取集合中的元素
SRANDMEMBER key [ count ]:
(1)当count为正数时,从集合中获取count个不重复的元素;如果count的值大于集合中元素的个数,则返回集合中的全部元素。
(2)当count为负数时,从集合中获取|count|个元素,这些元素可能相同。