List(列表)
所有的List
命令都是以l
开头的
#插入
127.0.0.1:6379> lpush list a #将一个或多个值插入到列表头部
(integer) 1
127.0.0.1:6379> lpush list b
(integer) 2
127.0.0.1:6379> lpush list c
(integer) 3
127.0.0.1:6379> lrange list 0 -1 #range [key] 0 -1获取全部的值
1) "c" #后进先出(栈)
2) "b"
3) "a"
127.0.0.1:6379> lrange list 0 1
1) "c"
2) "b"
127.0.0.1:6379> rpush list d #rpush从头部插入
(integer) 4
127.0.0.1:6379> lrange list 0 -1
1) "c"
2) "b"
3) "a"
4) "d"
127.0.0.1:6379>
#移除
127.0.0.1:6379> lrange list 0 -1
1) "c"
2) "b"
3) "a"
4) "d"
127.0.0.1:6379> lpop list #移除第一个元素
"c"
127.0.0.1:6379> lrange list 0 -1
1) "b"
2) "a"
3) "d"
127.0.0.1:6379> rpop list #移除最后一个元素(移除同样遵循栈后进先出的原则)
"d"
127.0.0.1:6379> lrange list 0 -1
1) "b"
2) "a"
127.0.0.1:6379>
#获取下标
127.0.0.1:6379> lrange list 0 -1
1) "b"
2) "a"
127.0.0.1:6379> lindex list 1 #通过下标获取list中的值[0,1,2,3...],注意须于插入时的坐标区分
"a"
127.0.0.1:6379> lindex list 0
"b"
127.0.0.1:6379>
# llen 长度
127.0.0.1:6379> lrange list 0 -1
1) "b"
2) "a"
127.0.0.1:6379> llen list
(integer) 2
127.0.0.1:6379>
# lrem 移除
127.0.0.1:6379> lrange list 0 -1
1) "c"
2) "b"
3) "a"
127.0.0.1:6379> lrem list 1 a #移除list集合中指定个数的value,精确匹配
(integer) 1
127.0.0.1:6379> lrange list 0 -1
1) "c"
2) "b"
127.0.0.1:6379>
# ltrim 修剪
127.0.0.1:6379> lrange list 0 -1
1) "hello3"
2) "hello2"
3) "hello1"
4) "hello"
127.0.0.1:6379> ltrim list 1 2 #通过下标截取指定的长度,注:此时list的value已被改变,只剩下截取的元素
OK
127.0.0.1:6379> lrange list 0 -1
1) "hello2"
2) "hello1"
127.0.0.1:6379>
# rpoplpush 移除列表的最后一个元素,并将它移动到新的列表中
127.0.0.1:6379> lrange list 0 -1
1) "hello3"
2) "hello2"
3) "hello1"
4) "hello"
127.0.0.1:6379> rpoplpush list otherlist
"hello"
127.0.0.1:6379> lrange list 0 -1
1) "hello3"
2) "hello2"
3) "hello1"
127.0.0.1:6379> lrange otherlist 0 -1
1) "hello"
127.0.0.1:6379>
# lset 将列表中指定下标的值替换为另一个值(更新)
127.0.0.1:6379> exists list #先判断列表是否存在
(integer) 0
127.0.0.1:6379> lset list 0 hello #如果列表不存在,则会报错
(error) ERR no such key
127.0.0.1:6379> lpush list hello
(integer) 1
127.0.0.1:6379> lrange list 0 -1
1) "hello"
127.0.0.1:6379> lset list 0 nihao #如果存在,更新当前下标的值
OK
127.0.0.1:6379> lrange list 0 -1
1) "nihao"
127.0.0.1:6379> lset list 1 xiexie #如果要更新值的下标不存在,则报错
(error) ERR index out of range
127.0.0.1:6379>
# linsert 将具体的值插入到列表中某个元素的前面或后面
127.0.0.1:6379> lrange list 0 -1
1) "hello"
2) "world"
127.0.0.1:6379> linsert list before world sunxiaochuan
(integer) 3
127.0.0.1:6379> lrange list 0 -1
1) "hello"
2) "sunxiaochuan"
3) "world"
127.0.0.1:6379> linsert list after world liubo
(integer) 4
127.0.0.1:6379> lrange list 0 -1
1) "hello"
2) "sunxiaochuan"
3) "world"
4) "liubo"
127.0.0.1:6379>
评论 (0)