BZPOPMAX公司
语法
BZPOPMAX key [key ...] timeout
- 从以下位置开始可用:
- 5.0.0
- 时间复杂度:
- O(log(N)) 的 URL 中,N 是排序集中的元素数。
- ACL 类别:
-
@write
,@sortedset
,@fast
,@blocking
,
BZPOPMAX
是有序集的阻塞变体ZPOPMAX
原始。
它是阻塞版本,因为它在没有 members 从任何给定的排序集中弹出。 具有最高分数的成员将从第一个排序集中弹出,该排序集是 non-empty,并按照给定的顺序检查给定的键。
这timeout
参数解释为指定最大值的 double 值
要阻止的秒数。超时 0 可用于无限期阻止。
有关确切的语义,请参阅 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 回复:当没有元素可以弹出并且超时过期时。
- Array reply:键名、popped 成员及其分数。
RESP3 回复
以下选项之一:
- Null 回复:当无法弹出任何元素且超时过期时。
- Array reply:键名、popped 成员及其分数。
历史
- 从 Redis 版本 6.0.0 开始:
timeout
被解释为 double 而不是整数。