黑猴子的家:Redis -> List 类型

1、List概念

(1)单键多值
(2)Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
(3)它的底层实际是个双向链表,对两端的操作性能很高,通过索引下标的操作中间的节点性能会较差。


黑猴子的家:Redis -> List 类型_第1张图片

2、List基本命令

(1)从左边/右边插入一个或多个值
lpush/rpush ....

127.0.0.1:6379[2]> lpush k14 v1 v2 v3
(integer) 3

(2)从左边/右边吐出一个值。
值在键在,值光键亡。
lpop/rpop

127.0.0.1:6379[2]> lpush k14 v1 v2 v3
(integer) 3

127.0.0.1:6379[2]> rpop k14
"v1"

127.0.0.1:6379[2]> rpop k14
"v2"

127.0.0.1:6379[2]> rpop k14
"v3"

127.0.0.1:6379[2]> rpop k14
(nil)

(3)从列表右边吐出一个值,插到列表左边
rpoplpush

127.0.0.1:6379[2]> lpush k15 v1 v2 v3 v4 v5 v6
(integer) 6

127.0.0.1:6379[2]> rpoplpush k15 k16
"v1"

(4)按照索引下标获得元素(从左到右) 范围
lrange

127.0.0.1:6379[2]> lrange k15 2 3
1) "v4"
2) "v3"

127.0.0.1:6379[2]> lrange k15 2 -1
1) "v4"
2) "v3"
3) "v2"

127.0.0.1:6379[2]> lrange k15 0 -1
1) "v6"
2) "v5"
3) "v4"
4) "v3"
5) "v2"

(5)按照索引下标获得元素(从左到右) 单个值
lindex

127.0.0.1:6379[2]> lindex k15 3
"v3"

(6)获得列表长度
llen

127.0.0.1:6379[2]> llen k15
(integer) 5

(7)在的后面插入 插入值
linsert before/after pivot

127.0.0.1:6379[2]> lrange k15 0 -1
1) "v6"
2) "v5"
3) "v4"
4) "v3"
5) "v2"

127.0.0.1:6379[2]> linsert k15 before v2 hh
(integer) 6

127.0.0.1:6379[2]> lrange k15 0 -1
1) "v6"
2) "v5"
3) "v4"
4) "v3"
5) "hh"
6) "v2"

(8)从左边删除n个value(从左到右)
lrem

127.0.0.1:6379[2]> lrange k15 0 -1
1) "v6"
2) "v5"
3) "hh"
4) "v4"
5) "v3"
6) "hh"
7) "hh"
8) "hh"
9) "v2"

127.0.0.1:6379[2]> lrem k15 2 hh
(integer) 2

127.0.0.1:6379[2]> lrange k15 0 -1
1) "v6"
2) "v5"
3) "v4"
4) "v3"
5) "hh"
6) "hh"
7) "v2"

你可能感兴趣的:(黑猴子的家:Redis -> List 类型)