- 列表的元素类型为string
- 按照插⼊顺序排序
1. 增加
1.1 在左侧插⼊数据
lpush key value1 value2 ...
从键为a1
的列表左侧加⼊数据a 、 b 、c
:
lpush a1 a b c
1.2 在右侧插⼊数据
rpush key value1 value2 ...
从键为a1
的列表右侧加⼊数据0、1:
rpush a1 0 1
1.3 在指定元素的前或后插⼊新元素 【help linsert】
linsert key before或after 现有元素 新元素
在键为a1
的列表中元素b
前加⼊3:
linsert a1 before b 3
2. 获取
2.1 返回列表⾥指定范围内的元素
lrange key start stop
start
、stop
为元素的下标索引- 索引从左侧开始,第⼀个元素为0
- 索引可以是负数,表示从尾部开始计数,如
-1
表示最后⼀个元素
获取键为a1
的列表所有元素:
lrange a1 0 -1
注意:没有 rrange!
2.2 获取索引为N的元素
lindex list_ 2
2.3 获取列表中元素的个数
llen list_
2.4 截取索引再赋值给列表
ltrim list_ 2 5
2.5 列表1右边pop元素,从左边push进列表2
rpoplpush list_ list_2
3. 设置指定索引位置的元素值 【更新】
- 索引从左侧开始,第⼀个元素为0
-
索引可以是负数,表示尾部开始计数,如
-1
表示最后⼀个元素
lset key index value
修改键为a1
的列表中下标为1
的元素值为z:
lset a1 1 z
4. 删除
4.1 删除指定元素
lrem key count value
- 将列表中前
count
次出现的值为value
的元素移除 - count > 0: 从头往尾移除
- count < 0: 从尾往头移除
- count = 0: 移除所有 【删除的个数即为count的大小】
向列表a2
中加⼊元素a、b、a、b、a、b:
lpush a2 a b a b a b
从a2
列表右侧开始删除2个b
:
lrem a2 -2 b
查看列表a2
的所有元素:
lrange a2 0 -1
4.2 从左边删除元素
lpop list_
4.3 从右边删除元素
rpop list_