BZPOPMAX

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

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

它之所以是阻塞版本,是因为当给定有序集合中没有任何成员可弹出时,它会阻塞连接。从第一个非空有序集合中弹出一个得分最高的成员,其中会按照给定的顺序检查键。

timeout 参数被解释为双精度浮点值,指定了最大阻塞秒数。超时时间为零表示可以无限期阻塞。

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

示例

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

RESP2 回复

以下之一

  • 空回复:当没有元素可以弹出且 timeout 过期时。

  • 数组回复:键名、弹出的成员及其得分。

RESP3 回复

以下之一

  • Null 回复:当没有元素可以弹出且 timeout 过期时。

  • 数组回复:键名、弹出的成员及其得分。

历史

版本 变更
6.0.0

timeout 被解释为双精度浮点数而非整数。