BZPOPMAX

语法
BZPOPMAX key [key ...] timeout
可用时间
5.0.0
时间复杂度
O(log(N)),其中 N 是有序集合中的元素数量。
ACL 类别
@write, @sortedset, @fast, @blocking,

BZPOPMAX 是有序集合 ZPOPMAX 原语的阻塞变体。

它是阻塞版本,因为它在从给定有序集合中弹出任何成员时都会阻塞连接。从第一个非空的有序集合中弹出具有最高分数的成员,给定的键按给定的顺序进行检查。

timeout 参数被解释为一个双精度值,指定阻塞的最大秒数。超时值为零可用于无限期阻塞。

有关确切语义,请参阅 BZPOPMIN 文档,因为 BZPOPMAXBZPOPMIN 相同,唯一的区别是它弹出具有最高分数的成员而不是弹出具有最低分数的成员。

示例

redis> DEL zset1 zset2
(integer) 0
redis> ZADD zset1 0 a 1 b 2 c
(integer) 3
redis> BZPOPMAX zset1 zset2 0
1) "zset1"
2) "c"
3) "2"

RESP2 回复

以下之一

  • 空回复:当无法弹出元素并且超时已过期时。
  • 数组回复:键名、弹出的成员及其分数。

RESP3 回复

以下之一

  • 空回复:当无法弹出元素并且超时已过期时。
  • 数组回复:键名、弹出的成员及其分数。

历史

  • 从 Redis 6.0.0 版本开始:timeout 被解释为双精度值而不是整数。
RATE THIS PAGE
Back to top ↑