lpush
从左边插入一个或多个值,新list默认为空
语法:lpush <key1> <value1> <value2> …… <value>
1 2 3
| # 添加一个新的list键值对,从左边插入 127.0.0.1:6379> lpush k1 v1 v2 v3 (integer) 3
|
rpush
从右边插入一个或多个值,新list默认为空
语法:rpush <key1> <value1> <value2> …… <value>
1 2 3
| # 添加一个新的list键值对,从右边插入 127.0.0.1:6379> rpush k2 v1 v2 v3 (integer) 3
|
lrange
取出key对应指定范围的list值
语法:lrange <key> <起始位置> <结束位置>
(包含起始位置和结束位置)
如果起始位置=0,结束位置=-1,表示取出key对应的所有list元素值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| # 取出k1对应0~1范围的list元素值 127.0.0.1:6379> lrange k1 0 1 1) "v3" 2) "v2" # 注意比较lpush和rpush的区别 # 取出k1对应的list所有元素值 127.0.0.1:6379> lrange k1 0 -1 1) "v3" 2) "v2" 3) "v1" # 取出k2对应的list所有元素值 127.0.0.1:6379> lrange k2 0 -1 1) "v1" 2) "v2" 3) "v3"
|
lpop
从左边吐出一个值,返回值正是这个值
取出所有的元素后,这个键值对就不复存在
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| # 从左边吐出k1的一个值 127.0.0.1:6379> lpop k1 "v3" # 取出k1对应的list所有元素值 127.0.0.1:6379> lrange k1 0 -1 1) "v2" 2) "v1" # 从左边吐出k2的一个值 127.0.0.1:6379> lpop k2 "v1" # 取出k2对应的list所有元素值 127.0.0.1:6379> lrange k2 0 -1 1) "v2" 2) "v3"
|
rpop
从右边吐出一个值,返回值正是这个值
取出所有的元素后,这个键值对就不复存在
1 2 3 4 5 6 7 8 9 10 11 12
| # 从右边吐出k1的一个值 127.0.0.1:6379> rpop k1 "v1" # 取出k1对应的list所有元素值 127.0.0.1:6379> lrange k1 0 -1 1) "v2" # 从右边吐出k2的一个值 127.0.0.1:6379> rpop k2 "v3" # 取出k2对应的list所有元素值 127.0.0.1:6379> lrange k2 0 -1 1) "v2"
|
rpoplpush
从key1的右边吐出一个值,插入到key2左边
语法:rpoplpush <list1> <list2>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| # 新增一个列表k3 127.0.0.1:6379> lpush k3 v1 v2 v3 v4 (integer) 4 # 新增一个列表k4 127.0.0.1:6379> lpush k4 v1 v2 v3 (integer) 3 # 将k3的v4放到k4的v1左边 127.0.0.1:6379> rpoplpush k3 k4 "v1" # 查看k3的list所有元素 127.0.0.1:6379> lrange k3 0 -1 1) "v4" 2) "v3" 3) "v2" # 查看k4的list所有元素 127.0.0.1:6379> lrange k4 0 -1 1) "v1" 2) "v3" 3) "v2" 4) "v1"
|
lindex
获取list索引对应的元素值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| # 查看k3的list所有元素 127.0.0.1:6379> lrange k3 0 -1 1) "v4" 2) "v3" 3) "v2" # 获取k3中索引0对应的元素 127.0.0.1:6379> lindex k3 0 "v4" # 获取k3中索引1对应的元素 127.0.0.1:6379> lindex k3 1 "v3" # 获取k3中索引2对应的元素 127.0.0.1:6379> lindex k3 2 "v2" # 获取k3中索引3对应的元素 127.0.0.1:6379> lindex k3 3 (nil)
|
llen
获取list中元素的个数
1 2 3 4 5 6 7 8
| # 查看k3的list所有元素 127.0.0.1:6379> lrange k3 0 -1 1) "v4" 2) "v3" 3) "v2" # 获取k3的元素个数 127.0.0.1:6379> llen k3 (integer) 3
|
linsert
往list指定位置插入元素值
语法:
-
linsert <key> before <value> <newvalue>
在键为key的list中值为value元素的前面插入newvalue
-
linsert <key> after <value> <newvalue>
在键为key的list中值为value元素的后面插入newvalue
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| # 查看k3的list所有元素 127.0.0.1:6379> lrange k3 0 -1 1) "v4" 2) "v3" 3) "v2" # 在v3前插入beforev3 127.0.0.1:6379> linsert k3 before v3 beforev3 (integer) 4 # 在v3后插入afterv3 127.0.0.1:6379> linsert k3 after v3 afterv3 (integer) 5 # 查看k3的list所有元素 127.0.0.1:6379> lrange k3 0 -1 1) "v4" 2) "beforev3" 3) "v3" 4) "afterv3" 5) "v2"
|
lrem
从左边删除n个value
语法:lrem <key> <n> <value>
1 2 3 4 5 6 7 8 9
| # 新建一个键为k5的list 127.0.0.1:6379> lpush k5 v1 v1 v1 v1 (integer) 4 # 在k5中从左边删除3个v1 127.0.0.1:6379> lrem k5 3 v1 (integer) 3 # 查看k5所有元素值 127.0.0.1:6379> lrange k5 0 -1 1) "v1"
|
lset
将指定索引index的值替换成value
语法:lset <key> <index> <value>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| # 新建一个键为k6的list 127.0.0.1:6379> lpush k6 v1 v2 v3 v4 v5 (integer) 5 # 查看k6所有元素 127.0.0.1:6379> lrange k6 0 -1 1) "v5" 2) "v4" 3) "v3" 4) "v2" 5) "v1" # 将下标为2的元素替换成element 127.0.0.1:6379> lset k6 2 element OK # 查看k6所有元素 127.0.0.1:6379> lrange k6 0 -1 1) "v5" 2) "v4" 3) "element" 4) "v2" 5) "v1"
|