文章目录
1. 添加
1.1 lpush - 从左或Rpush - 从右添加元素
lpush key value:将元素添加到列表左边
Rpush key value:将元素添加到列表右边
> lpush list1 A
1
> lpush list1 B
2
> lpush list1 C
3
> lrange list1 0 -1
1) "C"
2) "B"
3) "A"
1.2 linsert - 插入新值到某个值前后
语法:linsert list before/after value newvalue
> lrange list 0 -1
1) "A"
2) "B"
3) "C"
> linsert list1 before C 2B # 在 C 前插入 2B
4
> lrange list1 0 -1
1) "A"
2) "B"
3) "2B"
4) "C"
2. 获取
2.1 lrange - 根据区间获取值
语法:lrange key start end
> lrange list1 0 -1 # 获取所有值
1) "C"
2) "B"
3) "A"
> lrange list1 0 1 # 获取指定区间的值
1) "C"
2) "B"
2.2 lindex - 根据下标获取值
语法:lindex list 下标
> lrange list1 0 -1
1) "C"
2) "B"
> lindex list1 0
"C"
> lindex list1 1
"B"
2.3 llen - 获取列表的长度
语法: llen list
> len list1
2
3. 删除
3.1 lpop - 移除最左或rpop - 最右的元素
lpop key:删除列表最左边的元素,且返回元素
rpop key:删除列表最右边的元素,且返回元素
> lrange list1 0 -1
1) "D"
2) "C"
3) "B"
4) "A"
> lpop list1 # 删除列表最左边的元素,且返回元素
"D"
> rpop list1 # 删除列表最右边的元素,且返回元素
"A"
> lrange list1 0 -1
1) "C"
2) "B"
3.2 lrem - 移除指定的值
语法:lrem list num value
> lrange list1 0 -1
1) "C"
2) "C"
3) "B"
4) "A"
>lrem list1 1 A # 删除1个A
1
> lrange list1 0 -1
1) "C"
2) "C"
3) "B"
> lrem list1 2 C # 删除2个C
2
> lrange list1 0 -1
1) "B"
3.3 rpoplpush - 移除最后一个元素且添加到另一个list
语法:rpoplpush list1 list2
> lrange list1 0 -1
1) "A"
2) "B"
3) "C"
> rpoplpush list1 list2 # 移除 list1 中最后一个元素,且添加到list2 中去
"C"
> lrange list1 0 -1
1) "A"
2) "B"
> lrange list2 0 -1
1) "C"
4. ltrim - 根据下标范围截取 list
语法:ltrim list start end
> rpush list1 A
1
> rpush list1 B
2
> rpush list1 C
3
> rpush list1 D
4
> ltrim list1 1 2 # 截取下标为1到2的值
OK
> lrange list1 0 -1
1) "B"
2) "C"
5. lset - 替换指定下标的值
语法:lset list 下标 value
> exists list1 # 判断是否存在此list
0
> lset list1 0 beijing # 不存在,替换报错
(error) ERR no such key
> lpush list1 chaozhou # 创建一个list
1
> lindex list1 0
"chaozhou"
> lset list1 0 beijing # 存在,替换成功
OK
> lindex list1 0
"beijing"