List
文章目录
- List
- 常用命令
- lpush/rpush/lrange
- lpop/rpop
- lindex 按照下标取得值
- llen 获取元素个数
- lrem key
- ltrim key
- rpoplpush
- lset key index value
- linsert key before/after 已有值 插入的新值
常用命令
List特点:单值多value,value值可以重复
命令 | 作用 |
---|---|
lpush | 从左往右存值 |
rpush | 从右往左存值 |
lrange | 取值(只有从左往右取值) |
lpop | 从左边弹出一个值 |
rpop | 从右边弹出一个值 |
lindex | 按照下标取得值 |
llen | 获取元素个数 |
lren key 数字N 给定值V1 | 解释(删除N个值等于V1的元素) |
ltrim key 开始index 结束index | 截取置顶范围的值后在赋值给key |
rpoplpush 弹出的列表 接收的列表 | 弹出列表弹出最后一个字段,接收列表接受字段 |
lset key index value | 替换值 |
linsert key before/after 已有值 | 往前或者往后插入的新值 |
lpush/rpush/lrange
lpush 从左往右存值
127.0.0.1:6379> lpush list1 1 2 3 4 5
(integer) 5
lrange 取值(只有从左往右取值)
127.0.0.1:6379> lrange list1 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "1"
rpush 从右往左存值
127.0.0.1:6379> rpush list2 1 2 3 4 5
(integer) 5
lrange 取值(只有从左往右取值)
127.0.0.1:6379> lrange list2 0 -1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
lpop/rpop
lpop 从左边弹出一个值
127.0.0.1:6379> lpop list1
"5"
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
rpop 从右边弹出一个值
127.0.0.1:6379> rpop list1
"1"
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"
lindex 按照下标取得值
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"
127.0.0.1:6379> lindex list1 0
"4"
llen 获取元素个数
127.0.0.1:6379> llen list1
(integer) 3
lrem key
lren key 数字N 给定值V1 解释(删除N个值等于V1的元素)
127.0.0.1:6379> lpush list1 1 1 1 1 2 3 4 5 6
(integer) 9
127.0.0.1:6379> lrange list1 0 -1
1) "6"
2) "5"
3) "4"
4) "3"
5) "2"
6) "1"
7) "1"
8) "1"
9) "1"
127.0.0.1:6379> lrem list1 3 1
(integer) 3
127.0.0.1:6379> lrange list1 0 -1
1) "6"
2) "5"
3) "4"
4) "3"
5) "2"
6) "1"
ltrim key
ltrim key 开始index 结束index,截取置顶范围的值后在赋值给key
127.0.0.1:6379> lrange list1 0 -1
1) "6"
2) "5"
3) "4"
4) "3"
5) "2"
6) "1"
127.0.0.1:6379> ltrim list1 2 5
OK
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
127.0.0.1:6379>
rpoplpush
rpoplpush 弹出的列表 接受的列表
127.0.0.1:6379> lrange list2 0 -1
1) "11"
2) "12"
3) "13"
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
127.0.0.1:6379> rpoplpush list1 list2
"1"
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"
127.0.0.1:6379> lrange list2 0 -1
1) "1"
2) "11"
3) "12"
4) "13"
lset key index value
替换值
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"
127.0.0.1:6379> lset list1 1 mysql
OK
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "mysql"
3) "2"
linsert key before/after 已有值 插入的新值
127.0.0.1:6379> linsert list1 before mysql java
(integer) 4
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "java"
3) "mysql"
4) "2"