Redis Brpoplpush 命令

Redis 列表(List)

Redis Brpoplpush 命令從列表中彈出一個(gè)值,將彈出的元素插入到另外一個(gè)列表中并返回它; 如果列表沒有元素會(huì)阻塞列表直到等待超時(shí)或發(fā)現(xiàn)可彈出元素為止。

語法

redis Brpoplpush 命令基本語法如下:

redis 127.0.0.1:6379> BRPOPLPUSH LIST1 ANOTHER_LIST TIMEOUT 

可用版本

>= 2.0.0

返回值

假如在指定時(shí)間內(nèi)沒有任何元素被彈出,則返回一個(gè) nil 和等待時(shí)長。 反之,返回一個(gè)含有兩個(gè)元素的列表,第一個(gè)元素是被彈出元素的值,第二個(gè)元素是等待時(shí)長。

實(shí)例

# 非空列表

redis> BRPOPLPUSH msg reciver 500
"hello moto"                        # 彈出元素的值
(3.38s)                             # 等待時(shí)長

redis> LLEN reciver
(integer) 1

redis> LRANGE reciver 0 0
1) "hello moto"


# 空列表

redis> BRPOPLPUSH msg reciver 1
(nil)
(1.34s)

Redis 列表(List)