测试人员应该知道的Redis知识(六) Set

一、概述

 

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

 

Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)

 

集合中最大的成员数为 2^32 - 1 (4294967295, 每个集合可存储40多亿个成员)。

 

Set类型是我们工作中经常会用的一种数据类型,我们经常用来进行去重等操作,今天我们一起来看一下针对Set类型,我们工作中常用的一些命令。

 

二、sadd/smembers/sismembers

sadd : 向集合添加一个或多个成员,如果添加重复的元素,则最终在集合中只会有一个。

 

smembers : 返回集合中的所有成员。

 

sismembers : 判断 member 元素是否是集合 key 的成员。

测试人员应该知道的Redis知识(六) Set_第1张图片

 

三、scard/srem

scard : 获取集合的成员的数量。

srem : 移除集合中一个或多个成员 。

测试人员应该知道的Redis知识(六) Set_第2张图片

 

四、srandmember/spop

 

srandmember : 返回集合中一个或多个随机数。

spop : 移除并返回集合中的一个随机元素

测试人员应该知道的Redis知识(六) Set_第3张图片

 

五、smove

smove : 将 member 元素从 source 集合移动到 destination 集合。

测试人员应该知道的Redis知识(六) Set_第4张图片

 

六、sdiff/sinter/sunion

sdiff : 返回第一个集合与其他集合之间的差异,即第一个集合中存在,但其他集合中不存在的元素。

sinter : 返回给定所有集合的交集,即所有集合都存在的元素。

sunion : 返回所有给定集合的并集。

测试人员应该知道的Redis知识(六) Set_第5张图片

 

七、总结

Set是一组不重复的元素集合,由于是使用哈希表实现的,所以添加,删除,查找的效率都非常高,我们也经常会利用Set元素不重复的特点,进行一些特定的操作。如果大家还有别的什么问题,可以在评论中留言。

你可能感兴趣的:(提升,测试,redis)