[970]Redis Sadd命令、Srandmember 命令

Sadd命令

Redis Sadd 命令将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。

假如集合 key 不存在,则创建一个只包含添加的元素作成员的集合。

当集合 key 不是集合类型时,返回一个错误。

注意:在 Redis2.4 版本以前, SADD 只接受单个成员值。

语法

redis Sadd 命令基本语法如下:

redis 127.0.0.1:6379> SADD KEY_NAME VALUE1..VALUEN

可用版本:>= 1.0.0

返回值

被添加到集合中的新元素的数量,不包括被忽略的元素。

实例

redis 127.0.0.1:6379> SADD myset "hello"
(integer) 1
redis 127.0.0.1:6379> SADD myset "foo"
(integer) 1
redis 127.0.0.1:6379> SADD myset "hello"
(integer) 0
redis 127.0.0.1:6379> SMEMBERS myset
1) "hello"
2) "foo"
redis 127.0.0.1:6379> SCARD myset
(integer) 2

Redis Smembers 命令返回集合中的所有的成员。 不存在的集合 key 被视为空集合。

Redis Scard 命令返回集合中元素的数量。

Srandmember 命令

Redis Srandmember 命令用于返回集合中的一个随机元素。

从 Redis 2.6 版本开始, Srandmember 命令接受可选的 count 参数:

  • 如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合。
  • 如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。

该操作和 SPOP 相似,但 SPOP 将随机元素从集合中移除并返回,而 Srandmember 则仅仅返回随机元素,而不对集合进行任何改动。

语法

redis Srandmember 命令基本语法如下:

redis 127.0.0.1:6379> SRANDMEMBER KEY [count]

可用版本:>= 1.0.0

返回值

只提供集合 key 参数时,返回一个元素;如果集合为空,返回 nil 。 如果提供了 count 参数,那么返回一个数组;如果集合为空,返回空数组。

实例

redis 127.0.0.1:6379> SADD myset1 "hello"
(integer) 1
redis 127.0.0.1:6379> SADD myset1 "world"
(integer) 1
redis 127.0.0.1:6379> SADD myset1 "bar"
(integer) 1
redis 127.0.0.1:6379> SRANDMEMBER myset1
"bar"
redis 127.0.0.1:6379> SRANDMEMBER myset1 2
1) "Hello"
2) "world"

参考:https://www.runoob.com/redis/sets-sadd.html
https://www.runoob.com/redis/sets-scard.html
https://www.runoob.com/redis/sets-smembers.html
https://www.runoob.com/redis/sets-srandmember.html

上一篇:Redis源码 - Set(集合)


下一篇:redis操作set集合