当前位置: 首页 > news >正文

Redis: List类型

List类型

list内部的编码方式并得是一个简单的数组,更接近于是一个双端队列

列表中的元素是允许重复的 

命令

lpush

将一个或者多个元素左插到列表中

返回插入后list的长度

lpushx

若key存在,将一个元素左插到列表中,如果不存在key,则直接返回

rpush

将一个或者多个元素右插到列表中

rpushx

若key存在,将一个或者多个元素右插到列表中,如果不存在,则会直接返回

lrange

获得start到end区间内的所有元素,左闭区间,右闭区间,下标支持负数进行查看

lpop

从list左侧取出元素,即左删

count为删除的个数

rpop

从list右侧取出元素,即右删

lrem

删除某一个或多个相同的指定值

 

ltrim

删除指定区间以外的值

lindex

从左边获得第index位置的元素

linsert

从特定的位置插入元素,可以确定before还是after,在确定的元素之前还是之后进行插入

llen

获得元素的长度

阻塞版本命令

blpop和rlpop

在列表有元素的时候,阻塞和非阻塞的表现是一样的,但是如果列表没有元素,非阻塞列表会直接返回nil,阻塞列表会根据阻塞的时间,进行等待,知道时间结束还是为空,则会返回nil,如果在等待的过程中有元素进来了,则会返回该元素

本身为空,但是在它阻塞等待的时间中进行了插入,则会直接返回插入的该元素

在阻塞等待的过程中,直到等待时间结束,也一直没有元素插入,返回nil

内部编码

ziplist压缩列表 和 linkedlist(链表)

ziplist

将数据按照更紧凑的压缩形式进行表示节省空间,当元素多了的时候,操作的效率就会变低

linkedlist

 

应用场景

消息队列

redis阻塞消息队列模型

每次只能由一个消费者抢到队列 ,其他的队列进行等待

redis还支持分频道阻塞消息队列

 

一个频道每次只能由一个消费者强盗队列 

文章的分页展示

比如一个用户有很多的文章,将其分成很多页,可以使用到redis中的lrange进行部分的查询,每页有多少数据进行自己定义

希望能对大家有所帮助!!!!

相关文章:

  • Redis免费客户端工具推荐
  • Github月度新锐热门工具 - 202506
  • [HarmonyOSNext鸿蒙开发]11.ArkUI框架:Swiper、Grid布局与代码复用实战指南
  • Spring Boot 集成 Redis 实战教程
  • spring boot源码和lib分开打包
  • AWS CloudFormation实战:构建可复用的ECS服务部署模板
  • AWS TAM行为面试模拟题
  • onnx 模型转 rknn 部署 rk3588 开发板
  • Centos与RockLinux设置静态ip
  • TripGenie:畅游济南旅行规划助手:团队工作纪实(十四)
  • 26-Oracle 23 ai Automatic Transaction Rollback(行锁终结者)
  • 如何正确的用Trae 打开 Unity 3D 项目
  • 神经网络全景图:五大核心架构详解与本质区别
  • QB/T 8103-2024 氯化聚氯乙烯板材检测
  • java并发包中的ReentrantLock锁详解篇
  • Java Collection接口解析
  • C++与C有什么不同
  • 数据集-目标检测系列- 狮子 数据集 lion >> DataBall
  • Python实战:高效连接与操作Elasticsearch的完整指南
  • [灵感源于算法] 链表类问题技巧总结
  • 网站关键词引流/优化网站排名费用
  • 目前做网站的好处/企业专业搜索引擎优化
  • 南京网站制作步骤/怎么推广
  • 最牛视频网站建设/合肥优化排名推广
  • 建设银行安徽分行招聘网站/南昌seo
  • 郑州加盟做网站/青岛网站建设公司排名