当列表为空时,brpoplpush 命令将阻塞连接,直到等待超时,或有另一个客户端对 该列表 执行。超时参数 timeout 接受一个以秒为单位的数字作为值。超时参数设为 0 表示永久阻塞 。
语法:
redis 127.0.0.1:6379> brpoplpush list1 another_list timeout
可用版本
>=2.2.0.
返回值
存储在 key 或 nil 的元素的值
返回值类型
字符串
示例:redis brpoplpush
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> brpoplpush mycolor1 mycolor2 100
"b"
127.0.0.1:6379> brpoplpush mycolor1 mycolor2 100
"g"
127.0.0.1:6379> brpoplpush mycolor1 mycolor2 100
"r"
127.0.0.1:6379> brpoplpush mycolor1 mycolor2 100
(nil)
(100.06s)
以上示例将阻止客户端 100 秒执行任何命令。如果指定的键列表中有任何数据,则它将弹出数据并将其推送到另一个列表中,否则在 100 秒后返回 nil 值。
(nil)
(100.06s)