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

相关推荐
dFObBIMmai15 分钟前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw018 分钟前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python
czlczl2002092535 分钟前
利用“延迟关联”优化 MySQL 巨量数据的深分页查询
数据库·mysql
ACP广源盛139246256731 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
Elastic 中国社区官方博客1 小时前
ES|QL METRICS_INFO 和 TS_INFO:为你的时间序列数据建立目录
大数据·数据库·elasticsearch·搜索引擎·信息可视化·全文检索
俺不要写代码2 小时前
数据库:函数
数据库·mysql
2401_882273722 小时前
如何在 CSS 中正确加载本地 JPG 背景图片
jvm·数据库·python
曹牧2 小时前
SQL:多个事务同时修改同一索引块
数据库·sql
aXin_ya2 小时前
微服务第八天 Sentinel 四种分布式事务模式
java·数据库·微服务
Ruci ALYS2 小时前
MySQL大小写敏感、MySQL设置字段大小写敏感
数据库·mysql