Redis Srandmember 命令

Redis 集合(Set)

Redis Srandmember 命令用于返回集合中的一個隨機元素。

從 Redis 2.6 版本開始, Srandmember 命令接受可選的 count 參數(shù):

  • 如果 count 為正數(shù),且小于集合基數(shù),那么命令返回一個包含 count 個元素的數(shù)組,數(shù)組中的元素各不相同。如果 count 大于等于集合基數(shù),那么返回整個集合。
  • 如果 count 為負(fù)數(shù),那么命令返回一個數(shù)組,數(shù)組中的元素可能會重復(fù)出現(xiàn)多次,而數(shù)組的長度為 count 的絕對值。

該操作和 SPOP 相似,但 SPOP 將隨機元素從集合中移除并返回,而 Srandmember 則僅僅返回隨機元素,而不對集合進行任何改動。

語法

redis Srandmember 命令基本語法如下:

redis 127.0.0.1:6379> SRANDMEMBER KEY [count]

可用版本

>= 1.0.0

返回值

只提供集合 key 參數(shù)時,返回一個元素;如果集合為空,返回 nil 。 如果提供了 count 參數(shù),那么返回一個數(shù)組;如果集合為空,返回空數(shù)組。

實例

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"

Redis 集合(Set)