示例
示例
RPUSH pending job1 job2
LMOVE pending processing LEFT RIGHT # job1 移到 processing
LRANGE processing 0 -1 # job1(备份列表)
# 处理成功后再从备份列表删掉:
LREM processing 1 job1
# 旧命令等价(固定左弹右推):
RPOPLPUSH pending processing| 语法 | LMOVE source destination LEFT|RIGHT LEFT|RIGHT |
|---|---|
| 方向 | 两个方向参数分别控制源弹出端与目标推入端 |
| 原子性 | 弹出+推入原子完成 |
这是「安全队列」的经典方案:pending -> processing -> 确认后删除;处理超时可用另一个协程把 processing 中滞留元素搬回 pending。