Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以其添加、查找、删除的时间复杂度都是 O(1)。

Redis 集合命令
命令 说明 返回值 示例
SADD key member1 [member2 ...] 将一个或多个成员元素加入到集合中,已存在与集合中的元素将被省略 返回添加元素之后集合中的元素数量,不包括被忽略的元素
SCARD key 获取集合中的元素个数 返回集合的元素数量,如果 key 不存在,返回 0
SMEMBERS key 获取集合中的所有元素 返回集合中的所有元素
SRANDMEMBER key [count] 获取集合中的一个或多个随机元素 如果 count 为正数,且小于集合中元素数量,则返回一个包含 count 个元素的数组,且元素唯一,如果 count 大于等于集合中元素数量,那么返回整个集合;
如果 count 为负数,那么返回一个长度为 count 的绝对值的数组,且数组中元素可能不唯一;
如果不设置 count,则 count 默认为 1,如果集合为空,返回 nil
SISMEMBER key member 判断元素 member 是否是集合 key 的成员 如果 member 是 key 的元素,则返回 1,如果 member 不是 key 的元素,或 key 不存在,返回 0
SPOP key 移除并返回集合中的一个随机元素 返回被移除的随机元素,当集合不存在或者集合无元素时,返回 nil
SREM key member1 [member2] 移除集合中一个或多个元素 返回被成功移除的元素数量,不包括被忽略的元素
SUNION key1 [key2] 返回给定集合中的并集元素 返回所有并集元素
SUNIONSTORE destination key1 [key2] 将指定元素的并集存储在 destination 集合中 返回 destination 集合中的元素数量
SINTER key1 [key2] 返回给定集合中的交集元素 返回所有交集元素
SINTERSTORE  destination key1 [key2] 将指定元素的交集存储在 destination 集合中 返回 destination 集合中的元素数量
SDIFF key1 [key2] 返回第一个集合与其他集合之间的差异 返回所有差集元素
SDIFFSTORE destination key1 [key2] 将指定元素的差集存储在 destination 集合中 返回 destination 集合中的元素数量
SMOVE source destination member 将 source 中的元素 member 移动到 destination 集合中 如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回 0 。否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去;
当 destination 集合已经包含 member 元素时, SMOVE 命令只是简单地将 source 集合中的 member 元素删除;
当 source 或 destination 不是集合类型时,返回一个错误


SSCAN key cursor [MATCH pattern]_[COUNT count] 迭代集合 key 中的元素 返回集合元素列表

以上即是 Redis Set 的相关命令,SSCAN 命令继承自 SCAN 命令,后续会出一期详细的 SCAN命令~

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐