首页/数据/数据库速查/多键弹出:LMPOP / ZMPOP(7.0)
Redis 命令96 条

多键弹出:LMPOP / ZMPOP(7.0)

从多个列表/有序集合里挑第一个非空键弹出元素:LMPOP/ZMPOP 一次调用支持多键与 COUNT,BLMPOP/BZMPOP 可阻塞等待,比 BRPOP 更灵活。

数据库速查数据更新于 2026-10-12

用法

用法
RPUSH queue:a 1 2
RPUSH queue:b 3
LMPOP 2 queue:a queue:b LEFT COUNT 2   # -> ["queue:a", ["1", "2"]]
ZADD rank 1 a 2 b
ZMPOP 1 rank MIN                      # -> ["rank", [["a", "1"]]]
BLMPOP 5 2 queue:a queue:b LEFT COUNT 1   # 阻塞最多 5 秒(0=永久)
语法LMPOP numkeys key [key...] LEFT|RIGHT [COUNT n]
ZMPOP同类,取 MIN|MAX 分数端
返回[键名, [元素...]];全部为空返回 nil
阻塞版BLMPOP/BZMPOP 首参为 timeout 秒
队列命令建议用专用连接或足够大的连接池:阻塞中的连接不能复用,池小会被阻塞命令占满。

易错点

  • 版本不够(<7.0)报 unknown command:升级服务端或客户端改用 BRPOP 组合
  • COUNT 传 0 或负数:参数错误(必须 >=1)

数据来源与参考

  • Redis 官方文档: LMPOP
  • Redis 官方文档: ZMPOP

相关工具

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