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 中的列表数据。

相关推荐
爬山算法5 小时前
Redis(162)如何使用Redis实现消息队列?
数据库·redis·缓存
u***32435 小时前
【Redis】centos7 systemctl 启动 Redis 失败
数据库·redis·缓存
煎蛋学姐5 小时前
SSM社区生鲜电商平台dq96z(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·用户管理·ssm 框架·社区生鲜电商·商品信息管理
杨云龙UP5 小时前
从0搭建Oracle ODA NFS异地备份:从YUM源到RMAN定时任务的全流程
linux·运维·数据库·oracle
倔强的石头_5 小时前
从 Oracle 到 KingbaseES:破解迁移痛点,解锁信创时代数据库新可能
数据库
踢足球09296 小时前
Redis的典型应用
数据库·redis·缓存
hadage2336 小时前
--- redis 常见问题 ---
数据库·redis·mybatis
O***P5716 小时前
redis批量删除namespace下的数据
数据库·redis·缓存
5***26226 小时前
SQL Server导出和导入可选的数据库表和数据,以sql脚本形式
数据库·sql
JSUITDLWXL6 小时前
Oracle记录被锁的查询与强制删除方法
数据库·oracle