语法
从左侧添加:LPUSH key value [value ...]
从右面添加:RPUSH key value [value ...]
示例
# 从左侧添加
127.0.0.1:6379> lpush list 1 1 3 5 7
(integer) 5
# 从右侧添加
127.0.0.1:6379> rpush list 2 2 4 6 8
(integer) 10
获取列表中的某一片段。将返回start
、stop
之间的所有元素(包含两端的元素),索引从0
开始。索引可以是负数,如:“-1
”代表最后边的一个元素。
语法:LRANGE key start stop
示例
# 部分片段
127.0.0.1:6379> lrange list 0 4
1) "7"
2) "5"
3) "3"
4) "1"
5) "1"
# 全部片段
127.0.0.1:6379> lrange list 0 -1
1) "7"
2) "5"
3) "3"
4) "1"
5) "1"
6) "2"
7) "2"
8) "4"
9) "6"
10) "8"
从列表左/右边弹出一个元素,会分两步完成——先将列表左/右边的元素从列表中移除,再返回被移除的元素值
语法:
LPOP key
RPOP key
示例
# 从左侧弹出
127.0.0.1:6379> lpop list 1
1) "7"
# 从右侧弹出
127.0.0.1:6379> rpop list 2
1) "8"
2) "6"
语法:llen key
示例
127.0.0.1:6379> llen list
(integer) 7
LREM 命令会删除列表中前 count 个值为 value 的元素,返回实际删除的元素个数。根据 count 值的不同,该命令的执行方式会有所不同:
语法:LREM key count value
示例
127.0.0.1:6379> lrange list 0 -1
1) "5"
2) "3"
3) "1"
4) "1"
5) "2"
6) "2"
7) "4"
# 从左侧删除"1",个数为10个
127.0.0.1:6379> lrem list 10 1
(integer) 2
# 从右侧删除"2",个数为1个
127.0.0.1:6379> lrem list -1 2
(integer) 1
语法:LINDEX key index
示例
127.0.0.1:6379> lrange list 0 -1
1) "5"
2) "3"
3) "2"
4) "4"
127.0.0.1:6379> lindex list 0
"5"
语法:LSET key index value
示例
127.0.0.1:6379> lrange list 0 -1
1) "5"
2) "3"
3) "2"
4) "4"
127.0.0.1:6379> lset list 0 10
OK
127.0.0.1:6379> lrange list 0 -1
1) "10"
2) "3"
3) "2"
4) "4"
指定范围和LRANGE一致
语法:LTRIM key start stop
示例
127.0.0.1:6379> lrange list 0 -1
1) "10"
2) "3"
3) "2"
4) "4"
127.0.0.1:6379> ltrim list 0 2
OK
127.0.0.1:6379> lrange list 0 -1
1) "10"
2) "3"
3) "2"
命令说明
语法: LINSERT key BEFORE|AFTER pivot value
示例
127.0.0.1:6379> lrange list 0 -1
1) "10"
2) "3"
3) "2"
127.0.0.1:6379> linsert list before 3 456
(integer) 4
127.0.0.1:6379> lrange list 0 -1
1) "10"
2) "456"
3) "3"
4) "2"
命令说明
语法:RPOPLPUSH source destination
示例
127.0.0.1:6379> lrange list 0 -1
1) "10"
2) "456"
3) "3"
4) "2"
127.0.0.1:6379> rpoplpush list newlist
"2"
127.0.0.1:6379> lrange newlist 0 -1
1) "2"
127.0.0.1:6379> lrange list 0 -1
1) "10"
2) "456"
3) "3"