Redis 列表(list) 命令

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 值。