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

数据类型 list

一、介绍

类似于数组,顺序表,deque

结构图

特点:元素有序,元素允许重复

由于头尾高效插入删除,可以模拟栈,队列

二、常见 list 命令

1、lpush key elem [elem ...]

头插元素,返回值列表长度

2、lrange key start end

获取列表下标 [start, end] 区间的元素

3、lpushx key elem [elem ...]

如果 key 存在再头插元素

4、rpush key elem [elem ...]

尾插元素

5、rpushx key elem [elem ...]

如果 key 存在再尾插元素

 6、lpop key [count]

头删元素 count 次

7、rpop key [count]

尾删元素 count 次

8、lindex key index

获取下标 index 的元素

9、linsert key <before | after> pivot elem

从左往右在列表中找到 pivot 值,在值前 / 后插入元素

10、llen key 

获取列表长度

11、lrem key count elem

count > 0: 从左往右删除 count 个 elem

count > 0: 从右往左删除 count 个 elem

count = 0: 删除全部元素 elem

12、ltrim key start end

只保留区间 [start, end] 的元素

13、[blpop | brpop] key [key ...] timeout

阻塞 timeout 内删除元素

如果 list 非空,和 lpop, rpop 一样

如果 list 为空,不会立即返回,在 timeout 时间内如果列表不为空了那就删除并返回

阻塞时间内 Redis 可以执行其他命令

在等待多个 key 的列表时,哪个先不为空那就删除哪个,并且命令返回

多个客户端同时 pop,哪个先执行哪个就 pop

返回删除的 key 和删除的元素

三、内部编码

总体用的是 quicklist,由 ziplist 和 linkedlist 链表组成

把一个个的压缩列表用链表的形式组织起来

结合二者的有点,ziplist 存储个数少的元素节省空间,linkedlist 存储个数的元素效率高

四、应用场景

1、消息队列

生产者消费者模型

2、模拟外键

把两个表中的主键提取,结合成列表建立联系。

如提取课程 id 和学生 id,key 就是一个课程的 id,list 里面存储所有选课学生的 id,这样 redis 就能模拟出外键的效果

http://www.lryc.cn/news/618782.html

相关文章:

  • 浏览器CEFSharp+X86+win7 之 全球外贸电商平台订单管理(十)
  • 每日五个pyecharts可视化图表-line:从入门到精通 (4)
  • 数据结构:链表栈的操作实现( Implementation os Stack using List)
  • Java 中 List 接口详解:知识点与注意事项
  • Java数据结构之LinkedList
  • 【开发环境下浏览器前后端Cookie跨域问题】
  • 视频安全预警系统的应用价值
  • vue3用quill富文本赋值后回退键删除报错
  • 可以免费使用的数字人API
  • 亚马逊POST退场后的增长突围:关联与交叉销售的全链路策略重构
  • 一维数组的创建、初始化与使用指南
  • 详解k6中的核心概念——场景(Scenarios)
  • Spring面试宝典
  • Pytest项目_day13(usefixture方法、params、ids)
  • Linux系统管理利器lsof命令详解与实战应用
  • 杰理手表-增加提示音-提示音音量调整--使用提示音
  • kafka 消费者组的概念是什么?它是如何实现消息的点对点和发布/订阅模式?
  • 无人机航拍数据集|第14期 无人机水体污染目标检测YOLO数据集3000张yolov11/yolov8/yolov5可训练
  • Linux中Https配置与私有CA部署指南
  • 股指期货基本术语是什么?
  • 云计算分类与主流产品
  • Neo4j Cypher语句
  • 设置默认的pip下载清华源(国内镜像源)和pip使用清华源
  • day49 力扣42. 接雨水 力扣84.柱状图中最大的矩形
  • 零基础数据结构与算法——第七章:算法实践与工程应用-性能分析与瓶颈
  • 全面解析远程桌面:功能实现、性能优化与安全防护全攻略
  • 北京-4年功能测试2年空窗-报培训班学测开-第七十四天-线下面试-聊的很满意但可能有风险-等信吧
  • 第十篇:3D模型性能优化:从入门到实践
  • 【DL】Deep Learning base
  • CASS11三维坡度着色显示