Redis blpop 命令是以阻塞方式从列表中弹出元素的原子操作。 它是LPOP的阻塞版本,因为给定列表没有可弹出的元素时,它会阻塞连接。 该命令按给定的键顺序检查列表,从第一个非空的列表的头部弹出一个元素。
语法:
blpop list1 list2 .. listn timeout
可用版本
>=2.0.0.
返回值
返回存储在 key 或 nil 的元素的值
返回值类型
字符串
示例:redis blpop
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> blpop mycolor mycolor1 mycolor2 30
1) "mycolor1"
2) "r"
127.0.0.1:6379> blpop mycolor mycolor1 mycolor2 30
1) "mycolor1"
2) "g"
127.0.0.1:6379> blpop mycolor mycolor1 mycolor2 30
1) "mycolor1"
2) "b"
127.0.0.1:6379> blpop mycolor mycolor1 mycolor2 30
1) "mycolor2"
2) "y"
127.0.0.1:6379> blpop mycolor mycolor1 mycolor2 30
1) "mycolor2"
2) "o"
127.0.0.1:6379> blpop mycolor mycolor1 mycolor2 30
1) "mycolor2"
2) "p"
127.0.0.1:6379> blpop mycolor mycolor1 mycolor2 30
(nil)
(30.03s)
以上示例将阻止客户端 30 秒执行任何命令。如果指定键列表中有任何数据,则在 30 秒后返回,否则返回 nil 值。