list
list命令详解
#LPUSH key value [value ...] 从队列最左边入队一个或多个元素
127.0.0.1:6379> LPUSH mylist abc 123 d 5
(integer) 4
mylist:5 d 123 abc
# RPUSH key value [value ...] 从队列最右边入队一个或多个元素
127.0.0.1:6379> RPUSH mylist e f g
(integer) 7
mylist:5 d 123 abc e f g
# LSET key index value 设置index位置的list元素的值为value
127.0.0.1:6379> LINDEX mylist 2
"-1"
127.0.0.1:6379> LSET mylist 2 'zheng'
OK
127.0.0.1:6379> LINDEX mylist 2
"zheng"
# LLEN key 返回存储在 key 里的list的长度
127.0.0.1:6379> LLEN mylist
(integer) 7
# LRANGE key start stop 返回存储在 key 的列表里指定范围内的元素
127.0.0.1:6379> LRANGE mylist 0 -1
1)"5"
2) "d"
3) "123"
4) "abc"
5) "e"
6) "f"
7) "g"
127.0.0.1:6379> LRANGE mylist 1 5
1) "d"
2) "123"
3) "abc"
4) "e"
5) "f"
127.0.0.1:6379> LRANGE mylist -1 0
(empty list or set)
# LINDEX key index 返回列表里的key中索引为index元素的值
127.0.0.1:6379> LINDEX mylist 0
"5"
127.0.0.1:6379> LINDEX mylist 1
"d"
127.0.0.1:6379> LINDEX mylist 6
"g"
127.0.0.1:6379> LINDEX mylist 5
"f"
# LPOP key 从队列最左边出队一个元素
127.0.0.1:6379> LPOP mylist
"5"
127.0.0.1:6379> LPOP mylist
"d"
# RPOP key 从队列最右边出队一个元素
127.0.0.1:6379> RPOP mylist
"g"
127.0.0.1:6379> RPOP mylist
"f"
127.0.0.1:6379> LRANGE mylist 0 -1
1) "123"
2) "abc"
3) "e"
# LREM key count value 从存于 key 的列表里移除前 count 次出现的值为 value 的元素
count > 0: 从头往尾移除值为 value 的元素。
count < 0: 从尾往头移除值为 value 的元素。
count = 0: 移除所有值为 value 的元素。
127.0.0.1:6379> LRANGE ls 0 -1
1) "kitty"
2) "kitty"
3) "hai"
4) "kitty"
5) "kitty"
127.0.0.1:6379> LREM ls 1 'kitty'
(integer) 1
127.0.0.1:6379> LRANGE ls 0 -1
1) "kitty"
2) "hai"
3) "kitty"
4) "kitty"
127.0.0.1:6379> LREM ls -1 'kitty'
(integer) 1
127.0.0.1:6379> LRANGE ls 0 -1
1) "kitty"
2) "hai"
3) "kitty"
127.0.0.1:6379> LREM ls 0 'kitty'
(integer) 2
127.0.0.1:6379> LRANGE ls 0 -1
1) "hai"
#LINSERT key BEFORE|AFTER pivot value 在列表的另一个元素之前或之后插入一个元素
127.0.0.1:6379> LRANGE mylist 0 -1
1) "123"
2) "abc"
3) "e"
4) "f"
5) "g"
6) "h"
127.0.0.1:6379> LINSERT mylist before '123' 0
(integer) 7
127.0.0.1:6379> LRANGE mylist 0 -1
1) "0"
2) "123"
3) "abc"
4) "e"
5) "f"
6) "g"
7) "h"
127.0.0.1:6379> LINSERT mylist after '123' -1
(integer) 8
127.0.0.1:6379> LRANGE mylist 0 -1
1) "0"
2) "123"
3) "-1"
4) "abc"
5) "e"
6) "f"
7) "g"
8) "h"
# LTRIM key start stop 修剪(trim)一个已存在的list,list就会只包含start到stop之间的元素
127.0.0.1:6379> LRANGE mylist 0 -1
1) "0"
2) "123"
3) "zheng"
4) "abc"
5) "e"
6) "f"
7) "g"
8) "h"
127.0.0.1:6379> LTRIM mylist 2 -1
OK
127.0.0.1:6379> LRANGE mylist 0 -1
1) "zheng"
2) "abc"
3) "e"
4) "f"
5) "g"
6) "h"