redis基础数据类型list(列表)
常用命令
命令 | 说明 |
---|
Lpush listName element | 在列表头部(左)添加元素 |
Rpush listName element | 在列表尾部(右)添加元素 |
Lrange listName startIndex endIndex | 获取列表指定区间的元素 |
Lrange listName 0 -1 | 获得列表的所有元素 |
Lpop listName | 移除列表的第1个元素 |
Rpop listName | 移除列表的最后1个元素 |
Lindex listName index | 根据下标获取列表元素 |
Llen listName | 获取列表的长度 |
Lrem listName n value | 移除列表中n个值为value的元素(从左边开始) |
Ltrim listName startIndex endIndex | 截取列表指定区间的元素 |
RpopLpush listName1 listName2 | 移除列表1最后1个元素,并将其添加为列表2的第1个元素 |
exists listName | 判断列表是否存在 |
Lset listName index element | 设置列表指定位置的元素(不存在时报错) |
Linsert listName before element elementAdd | 向列表指定元素之前添加元素 |
Linsert listName after element elementAdd | 向列表指定元素之后添加元素 |
示例
127.0.0.1:6379> lpush mylist node1
(integer) 1
127.0.0.1:6379> lpush mylist node2
(integer) 2
127.0.0.1:6379> lpush mylist node3
(integer) 3
127.0.0.1:6379> lrange mylist 0 -1
1) "node3"
2) "node2"
3) "node1"
127.0.0.1:6379> exists mylist
(integer) 1
127.0.0.1:6379> Rpush mylist node1
(integer) 1
127.0.0.1:6379> Rpush mylist node2
(integer) 2
127.0.0.1:6379> Rpush mylist node3
(integer) 3
127.0.0.1:6379> Lrange mylist 0 -1
1) "node1"
2) "node2"
3) "node3"
127.0.0.1:6379> Lindex mylist 1
"node2"
127.0.0.1:6379> Llen mylist
(integer) 3
127.0.0.1:6379> Rpush mylist node1
(integer) 1
127.0.0.1:6379> Rpush mylist node1
(integer) 2
127.0.0.1:6379> Rpush mylist node2
(integer) 3
127.0.0.1:6379> Rpush mylist node3
(integer) 4
127.0.0.1:6379> Lrange mylist 0 -1
1) "node1"
2) "node1"
3) "node2"
4) "node3"
127.0.0.1:6379> Lrem mylist 2 node1
(integer) 2
127.0.0.1:6379> Lrange mylist 0 -1
1) "node2"
2) "node3"
127.0.0.1:6379> Linsert mylist before node2 node1
(integer) 3
127.0.0.1:6379> Linsert mylist after node3 node4
(integer) 4
127.0.0.1:6379> Lrange mylist 0 -1
1) "node1"
2) "node2"
3) "node3"
4) "node4"
127.0.0.1:6379> Ltrim mylist 1 2
OK
127.0.0.1:6379> Lrange mylist 0 -1
1) "node2"
2) "node3"
127.0.0.1:6379> RpopLpush mylist newlist
"node3"
127.0.0.1:6379> Lrange mylist 0 -1
1) "node2"
127.0.0.1:6379> Lrange newlist 0 -1
1) "node3"