List
在redis中 list可做为栈 队列 阻塞队列
基础
127.0.0.1:6379> lpush list one #将一个值或者多个值插入列表头部(左)
(integer) 1
127.0.0.1:6379> lpush list two
(integer) 2
127.0.0.1:6379> lpush list 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 0 1 #获取指定的值
1) "three"
2) "two"
127.0.0.1:6379> rpush list four #将一个值或者多个值插入列表尾部(右)
(integer) 4
127.0.0.1:6379> lrange list 0 -1
1) "three"
2) "two"
3) "one"
4) "four"
lpop rpop
127.0.0.1:6379> lrange list 0 -1
1) "three"
2) "two"
3) "one"
4) "four"
127.0.0.1:6379> lpop list #移除列表的第一个元素
"three"
127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "one"
3) "four"
127.0.0.1:6379> rpop list #移除列表的最后一个元素
"four"
127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "one"
Lindex
127.0.0.1:6379> lindex list 1 #根据下标,获取指定值
"one"
127.0.0.1:6379> lindex list 0
"two"
Llen
127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "one"
127.0.0.1:6379> llen list #获取列表长度
(integer) 2
Lrem 移除指定值
127.0.0.1:6379> lrange list 0 -1
1) "five"
2) "two"
3) "one"
4) "two"
5) "one"
127.0.0.1:6379> lrem list 1 one #移除list中指定个数的value精确匹配
(integer) 1
127.0.0.1:6379> lrange list 0 -1
1) "five"
2) "two"
3) "two"
4) "one"
127.0.0.1:6379> lrem list 2 two
(integer) 2
127.0.0.1:6379> lrange list 0 -1
1) "five"
2) "one"
Ltrim 修剪list list被改变
127.0.0.1:6379> lrange list 0 -1
1) "555"
2) "444"
3) "333"
4) "222"
5) "111"
127.0.0.1:6379> ltrim list 1 2 #通过下标截取指定长度
OK
127.0.0.1:6379> lrange list 0 -1
1) "444"
2) "333"
Rpoplpush //将前一个列表中的最后一个元素移动到后一个列表中(后一个列表没有自动创建)
127.0.0.1:6379> lrange list 0 -1
1) "666"
2) "555"
3) "444"
4) "333"
127.0.0.1:6379> rpoplpush list newlist
"333"
127.0.0.1:6379> lrange list 0 -1
1) "666"
2) "555"
3) "444"
127.0.0.1:6379> lrange newlist 0 -1
1) "333"
Lset 修改指定下标的值
127.0.0.1:6379> lrange list 0 -1
1) "222"
2) "111"
127.0.0.1:6379> lset list 0 333
OK
127.0.0.1:6379> lrange list 0 -1
1) "333"
2) "111"
Linsert 插入值
127.0.0.1:6379> lrange list 0 -1
1) "hello"
2) "world"
127.0.0.1:6379> linsert list before world new #在world之前插入new
(integer) 3
127.0.0.1:6379> lrange list 0 -1
1) "hello"
2) "new"
3) "world"
127.0.0.1:6379> linsert list after world wwwwqx #在world之后插入wwwwqx
(integer) 4
127.0.0.1:6379> lrange list 0 -1
1) "hello"
2) "new"
3) "world"
4) "wwwwqx"