List类型 栈 先进后出
1.LPUSH 放入表头
127.0.0.1:6379> lpush mylist java js python go
(integer) 4
2.LRANGE
127.0.0.1:6379> lrange mylist 0 -1
1) "go"
2) "python"
3) "js"
4) "java"
3.LPUSHX list不为空的时候才能放入表头
127.0.0.1:6379> lpushx mylist1 name
(integer) 0
127.0.0.1:6379> lpushx mylist name
(integer) 5
4.RPUSH 放入表尾
127.0.0.1:6379> rpush mylist php
(integer) 6
127.0.0.1:6379> lrange mylist 0 -1
1) "name"
2) "go"
3) "python"
4) "js"
5) "java"
6) "php"
5.RPUSHX 同理 LPUSHX
6.LPOP 删除表头
127.0.0.1:6379> LPOP mylist
"name"
127.0.0.1:6379> lrange mylist 0 -1
1) "go"
2) "python"
3) "js"
4) "java"
5) "php"
7.RPOP 删除表尾
8.RPOPLPUSH listA listB 将listA的表尾弹出后放入listB表头
127.0.0.1:6379> RPOPLPUSH mylist mylist1
"php"
127.0.0.1:6379> lrange mylist 0 -1
1) "go"
2) "python"
3) "js"
4) "java"
127.0.0.1:6379> lrange mylist1 0 -1
1) "php"
9.LLEN
127.0.0.1:6379> llen mylist
(integer) 4
10.LINSERT key BEFORE|AFTER pivot value
将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。
当 pivot 不存在于列表 key 时,不执行任何操作。
当 key 不存在时, key 被视为空列表,不执行任何操作。
如果 key 不是列表类型,返回一个错误。
127.0.0.1:6379> LINSERT mylist before go h5
(integer) 5
127.0.0.1:6379> lrange mylist 0 -1
1) "h5"
2) "go"
3) "python"
4) "js"
5) "java"
127.0.0.1:6379> LINSERT mylist after go css
(integer) 6
127.0.0.1:6379> lrange mylist 0 -1
1) "h5"
2) "go"
3) "css"
4) "python"
5) "js"
6) "java"
11.LINDEX
127.0.0.1:6379> lindex mylist 0
"h5"
12.LSET 将列表 key 下标为 index 的元素的值设置为 value 。
127.0.0.1:6379> LSET mylist 0 html5
OK
127.0.0.1:6379> lrange mylist 0 -1
1) "html5"
2) "go"
3) "css"
4) "python"
5) "js"
6) "java"
13.LTRIM key start stop 裁剪list
127.0.0.1:6379> ltrim mylist 2 -1
OK
127.0.0.1:6379> lrange mylist 0 -1
1) "css"
2) "python"
3) "js"
4) "java"
14.LREM key count value
count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。
count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。
count = 0 : 移除表中所有与 value 相等的值。
127.0.0.1:6379> lrange greet 0 -1
1) "value3"
2) "value2"
3) "value2"
4) "value1"
5) "value3"
6) "value2"
7) "value1"
127.0.0.1:6379> lrem greet 1 value2
(integer) 1
127.0.0.1:6379> lrange greet 0 -1
1) "value3"
2) "value2"
3) "value1"
4) "value3"
5) "value2"
6) "value1"
127.0.0.1:6379> lrem greet -1 value1
(integer) 1
127.0.0.1:6379> lrange greet 0 -1
1) "value3"
2) "value2"
3) "value1"
4) "value3"
5) "value2"
127.0.0.1:6379> lrem greet 0 value2
(integer) 2
127.0.0.1:6379> lrange greet 0 -1
1) "value3"
2) "value1"
3) "value3"