微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Redis(List)数据类型

基本的数据类型,列表,在Redis里面我们可以把list玩成,队列阻塞队列

所有的list命令都使用l或r开头的,代表left和right,l是队头r是队尾

数值操作

lpush key value  #左边插入,向list集合中存储一个值,可以多次存储

在这里插入图片描述

lrange  key  start  stop  #通过区间获取集合中指定的元素

在这里插入图片描述

数据的读取规则,先进后出,最后一个元素为0号元素。

在这里插入图片描述

当我们再次向里面存储数据时,他存到了最后一位而不是第一位,所以说这相当于双端队列,可以从两端取,也可以从两端存。

栈的概念:是弹压,就像子弹壳装弹,一粒一粒压进去,但是打出来的时候是从上面打出来的,最先压进去的最后弹出来,如果进去顺序是123,打出来顺序是321,这就是后进先出。

队列的概念:就是我们平时排队,按次序来,你排在第1个,那你就第一个轮到,就是先进先出,先到先来

rpush  key  element [element...]    #向队列尾部插入元素

在这里插入图片描述

lpop key [count]   #从集合左边移除一个值,可以指定移除个数,若不指定将移除第一个

在这里插入图片描述

rpop key [count]  #从集合右边移除一个值,可以指定移除个数,若不指定将移除第一个

在这里插入图片描述

lindex  key  index   #通过下标获取

在这里插入图片描述

llen key  #返回这个集合的长度

在这里插入图片描述

lrem  key count  element   #移除指定的值,可以指定个数

在这里插入图片描述

ltrim key start stop   #截取指定的元素

由下图可见,这个命令会截断集合,并覆盖到原集合

在这里插入图片描述

rpoplpush source destination   #移除指定集合的最后一个元素,并把它添加到另外一个集合

在这里插入图片描述

lset key index value   #给指定集合下标添加值,如果集合或下标不存在,则会报错

在这里插入图片描述


在这里插入图片描述

可以用来做替换、更新操作

在这里插入图片描述

linsert key before|after pivot element   #向指定集合指定元素后面或前面添加元素

在这里插入图片描述


当集合中有两个相同的值时,则在左侧开始匹配到的第一个值插入

在这里插入图片描述


总结

  • 它实际上是一个链表,before Node after,left,right 都可以插入值
  • 如果key不存在,创建新的链表
  • 如果key存在添加内容
  • 如果移除了所有的值,就变成了空列表,也表示不存在!
  • 在两边插入或改动值效率最高,对中间元素操作,效率来说效率会低一些!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐