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

【Redis】List类型常用命令

目录

  • List列表简介
  • 二. 增加元素操作相关命令
    • 2.1 左侧,右侧插入元素.(lpush rpush)
    • 2.2 在指定元素前/后插入元素(linsert)
  • 三. 查询元素操作相关命令
    • 3.1 根据下标获取元素.( lrange)
    • 3.2 获取指定下标的元素( lindex )
    • 3.3 获取列表长度( llen)
  • 四. 删除元素操作相关命令
    • 4.1 左侧, 右侧删除元素.(lpop rpop)
    • 4.2 删除列表指定个数的指定值( lrem )
    • 4.3 修剪列表,保存指定范围内的元素(ltrim)
  • 五. 修改元素操作相关命令.
    • 5.1 根据下标修改元素值(lset)
  • 六. 阻塞命令.
    • 6.1 blpop与brpop
  • 七. 命令总结.

List列表简介

  • 在redis中, 列表(List) 相当于是一个数组或顺序表, List列表是一个由字符串组成的双向链表, 这意味着可以将字符串元素添加到列表的头部或者尾部'
    在这里插入图片描述

  • List列表对于插入元素的效率较高, 查询元素的效率比较低.

  • Redis中的List列表, 底层的存储结构是使用的QuickList(快速链表).

    1. ziplist(压缩列表): 当列表的元素个数小于list-max-ziplist-entries配置(默认512个),同时列表中每个元素的长度都小于list-max-ziplist-value配置(默认64字节)时,Redis会选用ziplist来作为列表的内部编码实现,以减少内存消耗。
    2. linkedlist(链表): 当列表中的元素个数较多, 无法分配连续的空间存储, 则会使用linkedlist来存储元素.
    3. QuickList(快速链表)是ziplist(压缩列表)和linkedlist结合出来的产物, 即链表中的每个节点使用ziplist来存储.

二. 增加元素操作相关命令

2.1 左侧,右侧插入元素.(lpush rpush)

从左侧插入元素 : 每次插入元素都放在列表的最左边

  • 从左侧插入元素命令基本格式:

LPUSH key element [element ...]

从右侧插入元素 : 每次插入元素都放在列表的最右边

  • 从右侧插入元素命令基本格式:

RPUSH key element [element ...]

演示命令的使用:
在这里插入图片描述

2.2 在指定元素前/后插入元素(linsert)

  • 命令的基本格式:

LINSERT key <\BEFORE | AFTER> pivot element

演示命令的使用:
在这里插入图片描述

三. 查询元素操作相关命令

3.1 根据下标获取元素.( lrange)

  • 命令的基本格式:

LRANGE key start stop

演示命令的使用:
在这里插入图片描述

3.2 获取指定下标的元素( lindex )

  • 命令的基本格式:

LINDEX key index

演示命令的使用:
在这里插入图片描述

3.3 获取列表长度( llen)

  • 命令的基本格式:

LLEN key

演示命令的使用:
在这里插入图片描述

四. 删除元素操作相关命令

4.1 左侧, 右侧删除元素.(lpop rpop)

从左侧删除元素 : 每次删除最左侧的 n 个 value 值

  • 从左侧删除元素命令的基本格式:

LPOP key [count]

从右侧删除元素 : 每次删除最右侧的 n 个 value 值

  • 从右侧删除元素命令的基本格式:

RPOP key [count]

演示命令的使用:
在这里插入图片描述

4.2 删除列表指定个数的指定值( lrem )

  • 命令的基本格式:

LREM key count element

演示命令的使用:
在这里插入图片描述

4.3 修剪列表,保存指定范围内的元素(ltrim)

  • 命令的基本格式:

LTRIM key start stop

演示命令的使用:
在这里插入图片描述

五. 修改元素操作相关命令.

5.1 根据下标修改元素值(lset)

  • 命令的基本格式:

LSET key index element

演示命令的使用:
在这里插入图片描述

六. 阻塞命令.

6.1 blpop与brpop

  • BRPOP和BLPOP是两个重要的阻塞式列表操作命令,它们常用于实现消息队列的功能。
  • 当给定列表内没有任何元素可供弹出的时候,连接将被BRPOP/BLPOP命令阻塞,直到等待超时或发现可弹出元素为止。
  • 命令的基本格式:

BLPOP key [key ...] timeout
BRPOP key [key ...] timeout
在这里插入图片描述

七. 命令总结.

在这里插入图片描述


http://www.kler.cn/a/350290.html

相关文章:

  • 代码中使用 Iterable<T> 作为方法参数的解释
  • Java高频面试之SE-15
  • 2024又是一年的CSDN之旅-总结过去展望未来
  • 在Windows/Linux/MacOS C++程序中打印崩溃调用栈和局部变量信息
  • Scala语言的循环实现
  • 【云岚到家】-day03-门户缓存实现实战
  • Linux权限和开发工具(1)
  • leetcode 1027 最长等差数列 题目的思考
  • QOwnNotes:开源界的黑马,专业人士的不二之选
  • git merge啥意思
  • 力扣3194.最小元素和最大元素的平均最小值
  • 提升效率的秘密武器:如何选择合适的编程工具
  • STM32外设应用全解析
  • 【Unity】Unity中接入Admob聚合广告平台,可通过中介接入 AppLovin,Unity Ads,Meta等渠道的广告
  • 快速理解AUTOSAR CP的软件架构层次以及各层的作用
  • 第三弹:探索网络传输中的TFTP、UDP广播与多播技术
  • 打印杨辉三角形
  • 用Cursor开发了一个图片分割器
  • 观察者模式和发布-订阅模式的区别
  • 汽车结构设计外覆盖件抗凹分析的意义和分类
  • HarmonyOS Next模拟器异常问题及解决方法
  • 信息和介质的辩证
  • 智能化企业新人培训:AI助理如何加速新员融入与成长
  • 遥感图像处理又上大分!加个多模态,一篇A会到手~
  • 洛谷P1484.种树
  • 【Linux】基本认知全套入门