rpoplpush

消费列表A的最右边的元素返回,然后追加到列表B的最左边:

rpoplpush source destination

rpoplpush List_A List_B

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Docker:0>lrange source 0 -1
1) "1"
2) "2"
3) "3"
Docker:0>lrange destination 0 -1
1) "4"
2) "5"
3) "6"
Docker:0>rpoplpush source destination
"3"

Docker:0>lrange source 0 -1
1) "1"
2) "2"
Docker:0>lrange destination 0 -1
1) "3"
2) "4"
3) "5"
4) "6"

blpop

blpop key timeout

列表左侧查询元素,返回列表的key和左侧第一个元素。若所有查询的列表中都没有元素,则会阻塞等待至设置的timeout秒之后返回空,若在这期间,这些列表新增了元素,则会立刻消费并返回该元素。

brpop

brpop key timeout

类似,从右侧消费。

brpoplpush

brpoplpush source destination timeout
结合brpop和lpush,阻塞消费并将消费到的元素添加至target列表的最左侧: