Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

Redis BRPOPLPUSH命令

Redis 列表(Lists) Redis 列表(Lists)


BRPOPLPUSH 是 RPOPLPUSH 的阻塞版本,当指定列表 source 不为空时,BRPOPLPUSH 的表现和 RPOPLPUSH 一样。当列表 source 为空时,BRPOPLPUSH 命令将阻塞连接,直到等待超时,或有另一个客户端对 source 执行 LPUSH 或 RPUSH 命令为止。

命令格式

BRPOPLPUSH source destination timeout

可用版本:2.2.0

时间复杂度:O(1)

命令参数

  • source:弹出尾元素的指定列表 key。
  • destination:插入头元素的指定列表 key。
  • timeout:阻塞超时时间,单位为秒。

命令返回值

BRPOPLPUSH 命令返回有2种情况:

  • 返回 nil,当指定的 source 列表为空且已经超时。
  • 返回元素,当指定的 source 列表中存在可返回的元素时,返回改 source 的尾元素。

示例

redis> BRPOPLPUSH list1 list2 5
(nil)
(5.00s)
redis> LPUSH list1 "hello tool188"
(integer) 1
redis> BRPOPLPUSH list1 list2 5
"hello tool188"