ZRANDMEMBER

语法
ZRANDMEMBER key [count [WITHSCORES]]
可用版本
6.2.0
时间复杂度
O(N),其中 N 是返回的成员数量
ACL 类别
@read, @sortedset, @slow,

仅使用 key 参数调用时,从存储在 key 中的有序集合值中返回一个随机元素。

如果提供的 count 参数为正数,则返回一个包含 **不同元素** 的数组。数组的长度为 count 或有序集合的基数(ZCARD)中的较小者。

如果使用负数 count 调用,则行为发生变化,并且命令允许返回 **相同元素多次**。在这种情况下,返回的元素数量是指定的 count 的绝对值。

可选的 WITHSCORES 修饰符会更改回复,使其包含从有序集合中随机选择的元素的相应分数。

示例

ZADD dadi 1 uno 2 due 3 tre 4 quattro 5 cinque 6 sei ZRANDMEMBER dadi ZRANDMEMBER dadi ZRANDMEMBER dadi -5 WITHSCORES

传递 count 时行为的规范

count 参数为正值时,此命令的行为如下

  • 不返回重复元素。
  • 如果 count 大于有序集合的基数,则命令将只返回整个有序集合,不包含其他元素。
  • 回复中元素的顺序不是真正随机的,因此需要客户端在必要时对它们进行洗牌。

count 为负值时,行为发生变化,如下所示

  • 可能出现重复元素。
  • 始终返回正好 count 个元素,或者如果有序集合为空(不存在的键),则返回空数组。
  • 回复中元素的顺序是真正随机的。

RESP2 回复

批量字符串回复:在没有附加的 count 参数的情况下,命令返回一个随机选择的成员,或者当 key 不存在时返回 空回复数组回复:当传递附加的 count 参数时,命令返回一个成员数组,或者当 key 不存在时返回空数组。如果使用 WITHSCORES 修饰符,则回复是有序集合中的成员及其分数的列表。

RESP3 回复

批量字符串回复:在没有附加的 count 参数的情况下,命令返回一个随机选择的成员,或者当 key 不存在时返回 空回复数组回复:当传递附加的 count 参数时,命令返回一个成员数组,或者当 key 不存在时返回空数组。如果使用 WITHSCORES 修饰符,则回复是有序集合中的成员及其分数的列表。
RATE THIS PAGE
Back to top ↑