Redis brpop 命令 是一个阻塞的列表弹出原语。 它是 RPOP 的阻塞版本,因为这个命令会在给定list无法弹出任何元素的时候阻塞连接。 该命令会按照给出的 key 顺序查看 list,并在找到的第一个非空 list 的尾部弹出一个元素。
语法:
brpop list1 list2 .. listn timeout
可用版本
>=2.0.0.
返回值
返回存储在 key 或 nil 的元素的值
返回值类型
字符串
示例:redis brpop
127.0.0.1:6379> rpush mycolor1 r g b
(integer) 3
127.0.0.1:6379> rpush mycolor2 y o p
(integer) 3
127.0.0.1:6379> brpop mycolor mycolor1 mycolor2 30
1) "mycolor1"
2) "b"
127.0.0.1:6379> brpop mycolor mycolor1 mycolor2 30
1) "mycolor1"
2) "g"
127.0.0.1:6379> brpop mycolor mycolor1 mycolor2 30
1) "mycolor1"
2) "r"
127.0.0.1:6379> brpop mycolor mycolor1 mycolor2 30
1) "mycolor2"
2) "p"
127.0.0.1:6379> brpop mycolor mycolor1 mycolor2 30
1) "mycolor2"
2) "o"
127.0.0.1:6379> brpop mycolor mycolor1 mycolor2 30
1) "mycolor2"
2) "y"
127.0.0.1:6379> brpop mycolor mycolor1 mycolor2 30
(nil)
(30.04s)
以上示例将阻止客户端 30 秒执行任何命令。如果指定的键列表中有任何数据,则在 30 秒后返回,否则返回 nil 值。