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

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐