List(列表)

127.0.0.1:6379> lpush list one   #从左边插入,先进的在最后
(integer) 1
127.0.0.1:6379> lpush list two three  
(integer) 3
127.0.0.1:6379> lrange list 0 -1   #获取list中的值
1) "three"
2) "two"
3) "one"
127.0.0.1:6379> lrange list 1 1  #通过区间获取具体的值
1) "two"
127.0.0.1:6379> rpush list one two three four  #从右边插入,先进的在第一个
(integer) 4
127.0.0.1:6379> lrange list 0 -1
1) "one"
2) "two"
3) "three"
4) "four"
127.0.0.1:6379> lpop list    #移除list的第一个元素
"one"
127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "three"
3) "four"
127.0.0.1:6379> rpop list    #移除list的最后一个元素
"four"
127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "three"

可以使用(lpush,lpop)实现栈,使用(lpush,rpop)实现队列。

127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "three"
127.0.0.1:6379> lindex list 0  #通过下标获取列表中对应的值
"two"
127.0.0.1:6379> lindex list 1
"three"
127.0.0.1:6379> lindex list 2
(nil)
127.0.0.1:6379> lpush list one two three four
(integer) 4
127.0.0.1:6379> lrange list 0 -1
1) "four"
2) "three"
3) "two"
4) "one"
127.0.0.1:6379> llen list  #获取列表的长度
(integer) 4
127.0.0.1:6379> lpush list five
(integer) 5
127.0.0.1:6379> llen list
(integer) 5
127.0.0.1:6379> lrem list 2 one  #移除list集合中指定个数的value,精确匹配
(integer) 1
127.0.0.1:6379> lrange list 0 -1
1) "five"
2) "four"
3) "three"
4) "two"
127.0.0.1:6379> lrem list 1 three
(integer) 1
127.0.0.1:6379> lrange list 0 -1
1) "five"
2) "four"
3) "two"
127.0.0.1:6379> lpush list one two three four  
(integer) 4
127.0.0.1:6379> lrange list 0 -1
1) "four"
2) "three"
3) "two"
4) "one"
127.0.0.1:6379> ltrim list 1 2 #通过下标截取指定的长度,这个list已经被改变,只剩下截取的元素
OK
127.0.0.1:6379> lrange list 0 -1
1) "three"
2) "two"
127.0.0.1:6379> lpush list one two three
(integer) 3
127.0.0.1:6379> lpush mylist 1 2 3
(integer) 3
127.0.0.1:6379> lrange list 0 -1
1) "three"
2) "two"
3) "one"
127.0.0.1:6379> lrange mylist 0 -1
1) "3"
2) "2"
3) "1"
127.0.0.1:6379> rpoplpush list mylist  #移除列表的组后一个元素,将它移动到新的列表
"one"
127.0.0.1:6379> lrange list 0 -1
1) "three"
2) "two"
127.0.0.1:6379> lrange mylist 0 -1
1) "one"
2) "3"
3) "2"
4) "1"
#lset 将列表中指定的下标的值替换为另一个值,更新操作
127.0.0.1:6379> exists list #判断这个列表是否存在
(integer) 0
127.0.0.1:6379> lset list 0 one  # 如果不存在列表,则更新报错
(error) ERR no such key
127.0.0.1:6379> lpush list one
(integer) 1
127.0.0.1:6379> lrange list 0 0
1) "one"
127.0.0.1:6379> lset list 0 two  #如果存在,则更新下标的值
OK
127.0.0.1:6379> lindex list 0
"two"
127.0.0.1:6379> lset list 1 two
(error) ERR index out of range
#linsert 将某个具体的value插入到列中某个元素的前面或后面
127.0.0.1:6379> lpush list one two three 
(integer) 3
127.0.0.1:6379> linsert list before one four
(integer) 4
127.0.0.1:6379> lrange list 0 -1
1) "three"
2) "two"
3) "four"
4) "one"
127.0.0.1:6379> linsert list after one five  #在list的指定元素one后面插入一个值five
(integer) 5
127.0.0.1:6379> lrange list 0 -1
1) "three"
2) "two"
3) "four"
4) "one"
5) "five"

 消息排队,消息队列(lpush,rpop),栈(lpush,lpop)

 posted on 2020-11-19 19:55  会飞的金鱼  阅读(92)  评论(0)    收藏  举报