Redis 集合(Set)

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

Redis 集合命令
命令 说明 返回值 示例
SADD key member1 [member2 ...] 将一个或多个成员元素加入到集合中,已存在与集合中的元素将被省略 返回添加元素之后集合中的元素数量,不包括被忽略的元素 Redis 集合(Set)_第1张图片
SCARD key 获取集合中的元素个数 返回集合的元素数量,如果 key 不存在,返回 0 Redis 集合(Set)_第2张图片
SMEMBERS key 获取集合中的所有元素 返回集合中的所有元素 Redis 集合(Set)_第3张图片
SRANDMEMBER key [count] 获取集合中的一个或多个随机元素 如果 count 为正数,且小于集合中元素数量,则返回一个包含 count 个元素的数组,且元素唯一,如果 count 大于等于集合中元素数量,那么返回整个集合;
如果 count 为负数,那么返回一个长度为 count 的绝对值的数组,且数组中元素可能不唯一;
如果不设置 count,则 count 默认为 1,如果集合为空,返回 nil
Redis 集合(Set)_第4张图片
SISMEMBER key member 判断元素 member 是否是集合 key 的成员 如果 member 是 key 的元素,则返回 1,如果 member 不是 key 的元素,或 key 不存在,返回 0 Redis 集合(Set)_第5张图片
SPOP key 移除并返回集合中的一个随机元素 返回被移除的随机元素,当集合不存在或者集合无元素时,返回 nil Redis 集合(Set)_第6张图片
SREM key member1 [member2] 移除集合中一个或多个元素 返回被成功移除的元素数量,不包括被忽略的元素 Redis 集合(Set)_第7张图片
SUNION key1 [key2] 返回给定集合中的并集元素 返回所有并集元素 Redis 集合(Set)_第8张图片
SUNIONSTORE destination key1 [key2] 将指定元素的并集存储在 destination 集合中 返回 destination 集合中的元素数量
SINTER key1 [key2] 返回给定集合中的交集元素 返回所有交集元素 Redis 集合(Set)_第9张图片
SINTERSTORE  destination key1 [key2] 将指定元素的交集存储在 destination 集合中 返回 destination 集合中的元素数量
SDIFF key1 [key2] 返回第一个集合与其他集合之间的差异 返回所有差集元素 Redis 集合(Set)_第10张图片
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 不是集合类型时,返回一个错误
Redis 集合(Set)_第11张图片
Redis 集合(Set)_第12张图片
Redis 集合(Set)_第13张图片
SSCAN key cursor [MATCH pattern]_[COUNT count] 迭代集合 key 中的元素 返回集合元素列表 Redis 集合(Set)_第14张图片

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

你可能感兴趣的:(Redis,redis,Redis,Set,命令)