BZPOPMAX
Syntax
BZPOPMAX key [key ...] timeout
- Available since:
- 5.0.0
- Time complexity:
- O(log(N)) with N being the number of elements in the sorted set.
- ACL categories:
-
@write
,@sortedset
,@fast
,@blocking
,
BZPOPMAX
是排序集合 ZPOPMAX
原语的阻塞变体。
这是阻塞版本,因为当没有任何成员可以从给定的有序集合中弹出时,它会阻塞连接。 从第一个非空的有序集合中弹出得分最高的成员,给定的键按照它们被给定的顺序进行检查。
timeout
参数被解释为一个双精度值,指定阻塞的最大秒数。超时值为零可用于无限期阻塞。
请参阅BZPOPMIN文档了解确切的语义,因为BZPOPMAX
与BZPOPMIN
完全相同,唯一的区别是它弹出的是
最高分数的成员,而不是最低分数的成员。
示例
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 回复
以下之一:
- Nil reply: 当没有元素可以弹出且超时已过期时。
- Array reply: 键名、弹出的成员及其分数。
RESP3 回复
以下之一:
- Null reply: 当没有元素可以弹出且超时已过期时。
- Array reply: 键名、弹出的成员及其分数。
历史
- 从 Redis 版本 6.0.0 开始:
timeout
被解释为双精度浮点数而不是整数。