BRPOP

删除并返回列表中的最后一个元素。否则将阻塞,直到元素可用为止。如果弹出最后一个元素,则删除列表。

语法

BRPOP key [key ...] timeout

引入版本:2.0.0

复杂度摘要:O(N)

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

BRPOP 是阻塞列表弹出原语。它是 RPOP 的阻塞版本,因为当没有任何元素可从任何给定列表中弹出时,它会阻塞连接。从第一个非空列表的尾部弹出一个元素,并按照给出的顺序检查给定的键。

请参阅 BLPOP文档 了解确切的语义,因为 BRPOP 与 BLPOP 相同,唯一的区别是它从列表的尾部弹出元素,而不是从头部弹出。

必需参数

key [key ...]

列表中的一个或多个按键进行操作。

timeout

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

示例

redis> DEL list1 list2
(integer) 0
redis> RPUSH list1 a b c
(integer) 3
redis> BRPOP list1 list2 0
1) "list1"
2) "c"

Redis Software 与 Redis Cloud 兼容性

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

返回值

RESP2

以下之一: * 无回复:无法弹出任何元素且超时已到。 * 数组回复:弹出元素的键和弹出元素的值

RESP3

以下之一: * 空回复:无法弹出任何元素且超时已到。 * 数组回复:弹出元素的键和弹出元素的值

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