测试人员应该知道的Redis知识(六) Set
一、概述
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)
集合中最大的成员数为 2^32 - 1 (4294967295, 每个集合可存储40多亿个成员)。
Set类型是我们工作中经常会用的一种数据类型,我们经常用来进行去重等操作,今天我们一起来看一下针对Set类型,我们工作中常用的一些命令。
二、sadd/smembers/sismembers
sadd : 向集合添加一个或多个成员,如果添加重复的元素,则最终在集合中只会有一个。
smembers : 返回集合中的所有成员。
sismembers : 判断 member 元素是否是集合 key 的成员。
三、scard/srem
scard : 获取集合的成员的数量。
srem : 移除集合中一个或多个成员 。
四、srandmember/spop
srandmember : 返回集合中一个或多个随机数。
spop : 移除并返回集合中的一个随机元素
五、smove
smove : 将 member 元素从 source 集合移动到 destination 集合。
六、sdiff/sinter/sunion
sdiff : 返回第一个集合与其他集合之间的差异,即第一个集合中存在,但其他集合中不存在的元素。
sinter : 返回给定所有集合的交集,即所有集合都存在的元素。
sunion : 返回所有给定集合的并集。
七、总结
Set是一组不重复的元素集合,由于是使用哈希表实现的,所以添加,删除,查找的效率都非常高,我们也经常会利用Set元素不重复的特点,进行一些特定的操作。如果大家还有别的什么问题,可以在评论中留言。