Redis BRPOP 命令是 RPOP 的阻塞模式,当给定列表内没有任何元素可供弹出的时候,连接将被 BRPOP 命令阻塞,直到等待超时或发现可弹出元素为止。
当给定多个 key 参数时,按参数 key 的先后顺序依次检查各个列表,弹出第一个非空列表的尾部元素。
BRPOP 命令可用版本:>= 2.0.0
Redis BRPOP 命令的基本语法如下:
BRPOP key [key ...] timeout
假如在指定时间内没有任何元素被弹出,则返回一个 nil 和等待时长。否则,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key,第二个元素是被弹出元素的值。
127.0.0.1:6379> LPUSH website www.baidu.com www.cdsy.xyz (integer) 2 127.0.0.1:6379> BRPOP website 10 #弹出列表尾部第一个元素,并返回存储它的key 1) "website" 2) "www.baidu.com" 127.0.0.1:6379> BRPOP website 10 1) "website" 2) "www.cdsy.xyz" 127.0.0.1:6379> BRPOP website 10 #设置超时时间,否则将一直阻塞 (nil) (10.00s)