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

Redis 中列表(List)常见命令详解

列表(List)常见命令详解

在 Redis 中,列表(List)是一种线性数据结构,允许在列表的头部和尾部进行高效的元素添加和删除操作。列表中的元素是有序的,并且可以重复。以下是 Redis 中列表相关命令的详细解释和用法:

添加元素
  1. LPUSH key value [value …]

    • 功能:将一个或多个值插入到列表头部。如果列表不存在,会创建一个新的列表。
    • 示例LPUSH mylist "a" 会将元素 "a" 添加到 mylist 的头部。
  2. RPUSH key value [value …]

    • 功能:将一个或多个值插入到列表尾部。如果列表不存在,会创建一个新的列表。
    • 示例RPUSH mylist "b" 会将元素 "b" 添加到 mylist 的尾部。
插入元素
  1. LINSERT key BEFORE|AFTER pivot value
    • 功能:在列表中找到值等于 pivot 的元素之前或之后插入 value。如果列表不存在或 pivot 不存在,则不执行任何操作。
    • 示例LINSERT mylist BEFORE "a" "c" 会在列表 mylist 中找到 "a" 之前插入 "c"
获取元素范围
  1. LRANGE key start stop
    • 功能:获取列表指定范围内的元素。索引从 0 开始,stop-1 时表示列表的最后一个元素。
    • 示例LRANGE mylist 0 -1 会获取 mylist 中的所有元素。
修改元素
  1. LSET key index value
    • 功能:通过索引设置列表指定位置的值。如果索引超出范围,则返回错误。
    • 示例LSET mylist 1 "d" 会将 mylist 中索引为 1 的元素设置为 "d"
删除元素
  1. LREM key count value
    • 功能:根据参数 count 的值,从列表中删除指定数量的 value
      • count > 0:从头部开始删除 countvalue
      • count < 0:从尾部开始删除 |count|value
      • count = 0:删除所有匹配的 value
    • 示例LREM mylist 2 "a" 会从 mylist 中删除前两个 "a"
弹出元素
  1. LPOP key

    • 功能:移除并返回列表的第一个元素。如果列表为空,则返回 nil
    • 示例LPOP mylist 会移除 mylist 的第一个元素并返回它。
  2. RPOP key

    • 功能:移除并返回列表的最后一个元素。如果列表为空,则返回 nil
    • 示例RPOP mylist 会移除 mylist 的最后一个元素并返回它。
获取单个元素
  1. LINDEX key index
    • 功能:通过索引获取列表中的元素。如果索引超出范围,则返回 nil
    • 示例LINDEX mylist 0 会获取 mylist 中的第一个元素。
获取列表长度
  1. LLEN key
    • 功能:返回列表的长度。如果列表不存在,则返回 0
    • 示例LLEN mylist 会返回 mylist 的长度。

这些命令提供了对列表数据结构的丰富操作,使得 Redis 能够高效地处理线性数据结构。通过合理使用这些命令,可以灵活地管理和查询存储在 Redis 中的列表数据。


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

相关文章:

  • 抖音试水AI分身;腾讯 AI 战略调整架构;百度旗下小度官宣接入DeepSeek...|网易数智日报
  • 网络安全防护
  • 【深度学习】计算机视觉(CV)-图像生成-风格迁移(Style Transfer)
  • 接口测试-Protobuf相关
  • 【RabbitMQ业务幂等设计】RabbitMQ消息是幂等的吗?
  • 我用Ai学Android Jetpack Compose之Composable与View的区别与联系
  • LeetCode 热题 100_搜索插入位置(63_35_简单_C++)(二分查找)(”>>“ 与 “/”)
  • 【HappyBase】连接hbase报错:ecybin.ProtocolError: No protocol version header
  • A105基于SpringBoot实现的甘肃非物质文化网站
  • 宠物行业研究系列报告
  • 为什么WP建站更适合于谷歌SEO优化?
  • 【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(四) -> 常见组件(二) -> swiper
  • 油田安全系统:守护能源生命线的坚固壁垒
  • Android14(13)添加墨水屏手写API
  • 使用Termux将安卓手机变成随身AI服务器(page assist连接)
  • 【Linux网络】TCP/IP地址的有机结合(有能力VS100%???),IP地址的介绍
  • 鸿蒙与跨端迁移的重要性
  • C从入门到放弃篇1
  • 电脑网络图标消失了怎么办?(Windows电脑网络或WiFi图标消失,如何找回?)
  • 微服务SpringCloudAlibaba组件sentinel教程【详解sentinel的使用以及流量控制、熔断降级、热点参数限流等,附有示例+代码】