Redis学习笔记(十一)--Redis常用操作指令(二)

14 篇文章 0 订阅
14 篇文章 2 订阅

List列表常用指令

list是单值多value的数据结构
lpush key value [value]

这里的l是left的意思,将一个或多个值 value 插入到列表 key 的表头,如果有多个值,则从左到右依次插入到表头,例如插入 1 2 3,则存储结构是 3 2 1(表头到表尾)
这里写图片描述

rpush key value [value]

这里的r是right的意思,将一个或多个值 value 插入到列表 key 的表头,如果有多个值,则从右到左依次插入到表头,例如插入 1 2 3,则存储结构是 1 2 3(表头到表尾)

lrange key start stop

根据开始下标和结束下标获取list内容,0 -1获取全部,接下来我们查看一下mylist 和mylist01
这里写图片描述
这里写图片描述
可以看到lpush确实是正进反出,而rpush则是怎么进怎么出

lpop key

lpop是出栈操作,删除栈顶的元素,mylist和mylist01的栈顶元素分别是5 和 1,我们验证一下
这里写图片描述
确实是这样

rpop key

rpop也是出栈操作,不过他是删除栈尾的元素,mylist和mylist01的栈尾分别是1和5,验证
这里写图片描述

lindex key

这里的l是list的简写,不要与lpush和lpop的l搞混,按照索引下标获得元素(从上到下)
经过我们前面的操作,mylist = [4,3,2],mylist01 = [2,3,4],使用lindex获取下标为0的元素
这里写图片描述

llen

获取列表的长度
这里写图片描述

lrem key count value

rem是remove的简写,移除列表中多个相同的值,比如,再定义一个mylist02 = [1 1 1 1 2 2 2 3 3 3]
删除2 个 1
这里写图片描述
可以看到修改后的列表已经删除了两个1

ltrim key start stop

获取指定范围的值后再赋值给key,比如当前的mylist02 = [1 1 2 2 2 3 3 3 ]
这里写图片描述
注意这里截取的范围是左右包含的

rpoplpush 源列表 目的列表

移除源列表的栈尾元素,添加到目的列表的栈顶(表头),例如目前mylist01 = [2 3 4],mylist02 = [ 2 2 2 3],我们把mylist01当做源列表,mylist02当做目的列表,经过rpoplpush之后,结果如下
这里写图片描述
确实是把4这个元素插入到了mylist02的栈顶

lset key index value

修改列表中指定下标的值
这里写图片描述

linsert key before value1 value2

在给定列表指定的值之前插入值
这里写图片描述

linsert key after value1 value2

在给定列表指定的值后面插入值
这里写图片描述

性能总结

1、Redis列表是一个字符串链表,left,right都可以插入添加
2、如果键不存在,创建新的链表
3、如果键已经存在,新增内容
4、如果值全部移除,对应的键也就消失了
5、链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就不是很高了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值