redis数据操作----list

10 篇文章 0 订阅
9 篇文章 0 订阅

list

  • 列表的元素类型为string
  • 按照插入顺序排序
  • 在列表的头部或者尾部添加元素

命令

设置

  • 在头部插入数据
lpush key value [value ...]
  • 在尾部插入数据
rpush key value [value ...]

例如:在一个键插入字符串列表,键值及其顺序为first,two,three

使用lpush命令为:(并用lrange查询排序是否正确)

127.0.0.1:6379> lpush l1 'three' 'two' 'first'
(integer) 3
127.0.0.1:6379> lrange l1 0 -1
1) "first"
2) "two"
3) "three"

使用rpush命令为:(并用lrange查询排序是否正确)

127.0.0.1:6379> rpush l2 'first' 'two' 'three'
(integer) 3
127.0.0.1:6379> lrange l2 0 -1
1) "first"
2) "two"
3) "three"
  • 在一个元素的前|后插入新元素
linsert key before|after pivot(中心轴,以哪个值为参照值) value

例如:在l1键中以键值three 为轴点,在轴点(pivot)后面加入键值four

127.0.0.1:6379> linsert l1 after 'three' 'four'
(integer) 4
127.0.0.1:6379> lrange l1 0 -1
1) "first"
2) "two"
3) "three"
4) "four"

例如:在l1键中以键值fisrt 为轴点,在轴点(pivot)后面加入键值zero

127.0.0.1:6379> linsert l1 before 'first' 'zero'
(integer) 5
127.0.0.1:6379> lrange l1 0 -1
1) "zero"
2) "first"
3) "two"
4) "three"
5) "four"
127.0.0.1:6379>
  • 设置指定索引的元素值
  • 索引是基于0的下标
  • 索引可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
lset key index(元素下标) value

实例

l1键的键值及顺序查询结果为

127.0.0.1:6379> lrange l1 0 -1
1) "zero"
2) "first"
3) "two"
4) "three"
5) "four"

例如:把l1键的第一个值改为0(0为顺序第一位)

127.0.0.1:6379> lset l1 0 '0'
OK
127.0.0.1:6379> lrange l1 0 -1
1) "0"
2) "first"
3) "two"
4) "three"
5) "four"

例如:把l1键的第一个值改为-1(-1为顺序第最后位)

127.0.0.1:6379> lset l1 -1 '-1'
OK
127.0.0.1:6379> lrange l1 0 -1
1) "0"
2) "first"
3) "two"
4) "three"
5) "-1"
  • 删除list的最后一个键值
lpop key
  • 删除list的第一个键值
rpop key

实例

查询l1键的键值及其顺序结果为

127.0.0.1:6379> lrange l1 0 -1
1) "0"
2) "first"
3) "two"
4) "three"
5) "-1"

例如:删除l1键的最后一个键值

127.0.0.1:6379> lpop l1
"0"
127.0.0.1:6379> lrange l1 0 -1
1) "first"
2) "two"
3) "three"
4) "-1"

例如:删除l1键的第一个键值

127.0.0.1:6379> rpop l1
"-1"
127.0.0.1:6379> lrange l1 0 -1
1) "first"
2) "two"
3) "three"
  • 返回存储在 key 的列表里指定范围内的元素
  • start 和 end 偏移量都是基于0的下标
  • 偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
lrange key start stop

实例

查询l1键的键值及其顺序结果为

127.0.0.1:6379> lrange l1 0 -1
1) "zero"
2) "first"
3) "two"
4) "three"
5) "four"
6) "five"
7) "six"

例如:在l1键中查询元素范围为第2到最后一位,则start为1,end为-1,l1(1,-1)

127.0.0.1:6379> lrange l1 1 -1
1) "first"
2) "two"
3) "three"
4) "four"
5) "five"
6) "six"

例如:在l1键中查询元素范围为第一位到倒数第2位,则start为0,end为5,l1(0,5)

127.0.0.1:6379> lrange l1 0 5
1) "zero"
2) "first"
3) "two"
4) "three"
5) "four"
6) "five"

例如:在l1键中l1(2,4)

127.0.0.1:6379> lrange l1 2 4
1) "two"
2) "three"
3) "four"
  • 查询存储在key在list中的长度
    llen key

    例如:查询l1键的存储长度

127.0.0.1:6379> llen l1 (integer) 7
  • list中索引对应的元素
lindex key index

   例如:l1键索引为2

127.0.0.1:6379> lindex l1 2
"two"

   例如:l1键索引为5

127.0.0.1:6379> lindex l1 5
"five"
  • 裁剪列表,改为原集合的一个子集
  • start 和 end 偏移量都是基于0的下标
  • 偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
ltrim key star stop

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==例如:l1键中裁掉第一个值和最后一个值

127.0.0.1:6379> ltrim l1 1 5
OK
127.0.0.1:6379> lrange 0 -1
(error) ERR wrong number of arguments for 'lrange' command
127.0.0.1:6379> lrange l1 0 -1
1) "first"
2) "two"
3) "three"
4) "four"
5) "five"

可以看出来,第一个的zero和最后一位six已经被裁掉,返回了新的列表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值