BZMPOP

从一个或多个有序集合中按分数删除并返回成员。否则会阻塞,直到有成员可用为止。如果最后一个元素被弹出,则删除有序集合。

语法

BZMPOP timeout numkeys key [key ...] [COUNT count]

引入版本:7.0.0

复杂度摘要:O(K)

[!NOTE] 此命令的行为在集群 Redis 环境中有所不同。请参阅 多键操作 页面了解更多信息。

BZMPOP 是 ZMPOP 的阻塞变体。

当任何有序集合包含元素时,此命令的行为与 ZMPOP 完全相同。当在 MULTI/EXEC 块或 Lua 脚本中使用时,此命令的行为与 ZMPOP 完全相同。当所有有序集合都为空时,Redis 将阻止连接,直到另一个客户端将成员添加到其中一个键或直到 timeout(指定阻止的最大秒数的双精度值)过去。 timeout 为零可用于无限期阻止。

请参阅 ZMPOP 了解更多信息。

必需参数

timeout

最大阻塞时间,单位为秒。 0 超时会无限期地阻塞。

numkeys

后面的键的数量。

key [key ...]

要从中弹出的一个或多个有序集合键。

MIN | MAX

弹出分数最低(MIN)或最高分数(MAX)的成员。

可选参数

COUNT count

要弹出的成员数量。默认为 1。

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
✅ 标准
✅ 主动-主动
✅ 标准
✅ 主动-主动

返回值

RESP2

以下之一: * 无回复:当无法弹出元素时。 * 数组回复:一个双元素数组,第一个元素是弹出元素的键的名称,第二个元素是弹出元素的数组。 elements 数组中的每个条目也是一个包含成员及其分数的数组。

RESP3

以下之一: * 空回复:当无法弹出元素时。 * 数组回复:一个双元素数组,第一个元素是弹出元素的键的名称,第二个元素是弹出元素的数组。 elements 数组中的每个条目也是一个包含成员及其分数的数组。

资料来源:Redis 官方 BZMPOP 文档;中文内容参考 Redis 文档许可。