Redis 从入门到精通(六):列表操作详解

系列导读:本篇将深入讲解 Redis 列表(List)的所有操作命令及实际应用场景。


文章目录


一、列表命令总览

命令 说明
LPUSH/RPUSH 左/右插入
LPOP/RPOP 左/右弹出
LRANGE 获取范围
LLEN 获取长度
LINDEX 按索引获取
LSET 按索引设置
BLPOP/BRPOP 阻塞弹出

二、基础操作命令

2.1 插入操作

bash 复制代码
# 左侧插入(头部)
LPUSH mylist "a" "b" "c"

# 右侧插入(尾部)
RPUSH mylist "d" "e"

# 仅当列表存在时插入
LPUSHX mylist "f"
RPUSHX mylist "g"

2.2 弹出操作

bash 复制代码
# 左侧弹出
LPOP mylist

# 右侧弹出
RPOP mylist

# 弹出并推入另一个列表
RPOPLPUSH source dest

2.3 查询操作

bash 复制代码
# 获取范围内元素
LRANGE mylist 0 -1  # 全部
LRANGE mylist 0 9   # 前10个

# 按索引获取
LINDEX mylist 0

# 获取长度
LLEN mylist

2.4 修改操作

bash 复制代码
# 按索引设置
LSET mylist 0 "newvalue"

# 在元素前/后插入
LINSERT mylist BEFORE "a" "new"
LINSERT mylist AFTER "a" "new"

# 删除指定元素
LREM mylist 2 "a"  # 删除2个"a"

# 修剪列表
LTRIM mylist 0 99  # 只保留前100个

三、阻塞操作命令

3.1 阻塞弹出

bash 复制代码
# 阻塞左侧弹出
BLPOP list1 list2 30  # 30秒超时

# 阻塞右侧弹出
BRPOP list1 list2 30

# 阻塞弹出并推入
BRPOPLPUSH source dest 30

四、实战应用场景

4.1 消息队列

bash 复制代码
# 生产者
LPUSH queue:orders "order:1001"

# 消费者
RPOP queue:orders
# 或阻塞消费
BRPOP queue:orders 0

4.2 最新列表

bash 复制代码
# 添加最新文章
LPUSH latest:articles "article:100"
LTRIM latest:articles 0 99  # 只保留100篇

# 获取最新文章
LRANGE latest:articles 0 9

4.3 时间线

bash 复制代码
# 发布动态
LPUSH timeline:user:1001 "post:1"

# 获取时间线
LRANGE timeline:user:1001 0 19

总结

本文我们学习了:

✅ 基础操作 :LPUSH/RPUSH/LPOP/RPOP

✅ 查询操作 :LRANGE/LINDEX/LLEN

✅ 阻塞操作 :BLPOP/BRPOP

✅ 应用场景:消息队列、最新列表、时间线

下篇预告 :Redis 从入门到精通(七):集合操作详解


作者 :刘~浪地球
系列 :Redis 从入门到精通(六)
更新时间:2026-04-04

相关推荐
李兆龙的博客7 小时前
问津集 #26:Lakebase——Postgres 的版本化页面存储、数据库分支与计算弹性
数据库
倔强的石头_9 小时前
聊聊金仓KFS:一款把数据同步软件做扎实的产品
数据库
闲云野鹤在人间9 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
禾小西9 小时前
Redis:从两大维度和三大主线建立知识体系
数据库·redis·缓存
禾小西10 小时前
Redis 数据结构:快速的 Redis 有哪些慢操作?
数据结构·数据库·redis
数据库小学妹10 小时前
数据共享交换平台选型:交换方式对比与避坑指南
数据库·信创·数据同步·数据交换平台·政务数据共享·数据共享交换平台·数据库底座
福兮说11 小时前
浏览器里把 iPhone 的 HEIC 转成 JPG:Chrome 解不开、转完大了七成、拍摄时间全丢,六个坑实测
前端·javascript·图像处理·chrome·ios·iphone·heic
loong_XL12 小时前
决策模型做内容安全检测:从踩坑到上线
数据库·安全·jev·决策模型
这个DBA有点耶12 小时前
数据库双轨并行实战:全量并行策略、增量延迟控制、双向回切与一致性校验
数据库·架构·dba
adinnet202612 小时前
保单、赔付与渠道问数:保险经营数据如何实现按需查询
大数据·数据库·人工智能