首页/数据/数据库速查/LPUSH / RPUSH 列表入队
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条
Redis 命令96 条
Redis 运维与场景124 条

LPUSH / RPUSH 列表入队

List 是双向链表语义(内存里是 quicklist):LPUSH 从左端插入、RPUSH 从右端插入,返回值是插入后列表长度;常用于队列与时间线。

数据库速查数据更新于 2026-10-12
用途向列表两端插入元素
语法LPUSH key elem [elem ...] / RPUSH key elem [elem ...]
返回插入后的列表长度

示例

示例
RPUSH queue:email m1 m2 m3    # 返回 3,队列顺序 m1 m2 m3
LPUSH queue:email m0          # 返回 4,m0 在左端:m0 m1 m2 m3
LRANGE queue:email 0 -1
# 消费:从右进从左出(FIFO)或反之,方向要全链路一致
LPUSH 多元素时是逐个头插:LPUSH k a b c 后顺序为 c b a,批量方向容易反,用前先 LRANGE 验证。

易错点

  • LPUSH k a b c 期望 a b c 顺序:实际是 c b a,批量头插顺序与直觉相反
  • 生产消费方向不统一:一端 RPUSH 一端 LPOP 或 RPUSH+RPOP 会导致队列变成栈语义

数据来源与参考

  • Redis 官方文档: LPUSH
  • Redis 官方文档: RPUSH

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌