Redis BLPOP命令

 
Redis  BLPOP 命令是列表弹出元素的阻塞模式,当给定列表内没有任何元素可供弹出的时候,连接将被 BLPOP 命令阻塞,直到等待超时或发现可弹出元素为止。

当给定多个 key 时,按 key 的先后顺序依次检查各个列表,弹出第一个非空列表的头元素。

可用版本

BLPOP 命令可用版本:>= 2.0.0

语法

Redis BLPOP 命令的基本语法如下:
BLPOP key [key ...] timeout 

返回值

如果列表为空,返回一个 nil 。否则,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key,第二个元素是被弹出元素的值。

命令演示

127.0.0.1:6379> LPUSH website www.baidu.com www.biancheng.net
(integer) 2
127.0.0.1:6379> BLPOP website 10  #弹出列表中第一个元素,并返回存储它的key
1) "website"
2) "www.biancheng.net"
127.0.0.1:6379> BLPOP website 10
1) "website"
2) "www.baidu.com"
127.0.0.1:6379> BLPOP website 10 #设置超时时间,否则将一直阻塞
(nil)
(10.00s)