list
- 列表的元素类型为string
- 按照插入顺序排序
- 在列表的头部或者尾部添加元素
命令
设置
- 在头部插入数据
lpush key value [value ...]
- 在尾部插入数据
rpush key value [value ...]
例如:在一个键插入字符串列表,键值及其顺序为first,two,three
使用lpush命令为:(并用lrange查询排序是否正确)
127.0.0.1:6379> lpush l1 'three' 'two' 'first'
(integer) 3
127.0.0.1:6379> lrange l1 0 -1
1) "first"
2) "two"
3) "three"
使用rpush命令为:(并用lrange查询排序是否正确)
127.0.0.1:6379> rpush l2 'first' 'two' 'three'
(integer) 3
127.0.0.1:6379> lrange l2 0 -1
1) "first"
2) "two"
3) "three"
- 在一个元素的前|后插入新元素
linsert key before|after pivot(中心轴,以哪个值为参照值) value
例如:在l1键中以键值three 为轴点,在轴点(pivot)后面加入键值four
127.0.0.1:6379> linsert l1 after 'three' 'four'
(integer) 4
127.0.0.1:6379> lrange l1 0 -1
1) "first"
2) "two"
3) "three"
4) "four"
例如:在l1键中以键值fisrt 为轴点,在轴点(pivot)后面加入键值zero
127.0.0.1:6379> linsert l1 before 'first' 'zero'
(integer) 5
127.0.0.1:6379> lrange l1 0 -1
1) "zero"
2) "first"
3) "two"
4) "three"
5) "four"
127.0.0.1:6379>
- 设置指定索引的元素值
- 索引是基于0的下标
- 索引可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
lset key index(元素下标) value
实例
l1键的键值及顺序查询结果为
127.0.0.1:6379> lrange l1 0 -1
1) "zero"
2) "first"
3) "two"
4) "three"
5) "four"
例如:把l1键的第一个值改为0(0为顺序第一位)
127.0.0.1:6379> lset l1 0 '0'
OK
127.0.0.1:6379> lrange l1 0 -1
1) "0"
2) "first"
3) "two"
4) "three"
5) "four"
例如:把l1键的第一个值改为-1(-1为顺序第最后位)
127.0.0.1:6379> lset l1 -1 '-1'
OK
127.0.0.1:6379> lrange l1 0 -1
1) "0"
2) "first"
3) "two"
4) "three"
5) "-1"
- 删除list的最后一个键值
lpop key
- 删除list的第一个键值
rpop key
实例
查询l1键的键值及其顺序结果为
127.0.0.1:6379> lrange l1 0 -1
1) "0"
2) "first"
3) "two"
4) "three"
5) "-1"
例如:删除l1键的最后一个键值
127.0.0.1:6379> lpop l1
"0"
127.0.0.1:6379> lrange l1 0 -1
1) "first"
2) "two"
3) "three"
4) "-1"
例如:删除l1键的第一个键值
127.0.0.1:6379> rpop l1
"-1"
127.0.0.1:6379> lrange l1 0 -1
1) "first"
2) "two"
3) "three"
- 返回存储在 key 的列表里指定范围内的元素
- start 和 end 偏移量都是基于0的下标
- 偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
lrange key start stop
实例
查询l1键的键值及其顺序结果为
127.0.0.1:6379> lrange l1 0 -1
1) "zero"
2) "first"
3) "two"
4) "three"
5) "four"
6) "five"
7) "six"
例如:在l1键中查询元素范围为第2到最后一位,则start为1,end为-1,l1(1,-1)
127.0.0.1:6379> lrange l1 1 -1
1) "first"
2) "two"
3) "three"
4) "four"
5) "five"
6) "six"
例如:在l1键中查询元素范围为第一位到倒数第2位,则start为0,end为5,l1(0,5)
127.0.0.1:6379> lrange l1 0 5
1) "zero"
2) "first"
3) "two"
4) "three"
5) "four"
6) "five"
例如:在l1键中l1(2,4)
127.0.0.1:6379> lrange l1 2 4
1) "two"
2) "three"
3) "four"
- 查询存储在key在list中的长度
llen key
例如:查询l1键的存储长度
127.0.0.1:6379> llen l1 (integer) 7
- list中索引对应的元素
lindex key index
例如:l1键索引为2
127.0.0.1:6379> lindex l1 2
"two"
例如:l1键索引为5
127.0.0.1:6379> lindex l1 5
"five"
- 裁剪列表,改为原集合的一个子集
- start 和 end 偏移量都是基于0的下标
- 偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
ltrim key star stop
例如:l1键中裁掉第一个值和最后一个值
127.0.0.1:6379> ltrim l1 1 5
OK
127.0.0.1:6379> lrange 0 -1
(error) ERR wrong number of arguments for 'lrange' command
127.0.0.1:6379> lrange l1 0 -1
1) "first"
2) "two"
3) "three"
4) "four"
5) "five"
可以看出来,第一个的zero和最后一位six已经被裁掉,返回了新的列表