You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Redis-cli查看Redis服务器中运行的队列列表?

Redis CLI 查看队列相关信息的替代命令方案

你当前使用的redis-cli MONITOR | grep queuename命令可以实时捕获队列相关操作,但MONITOR会输出实例所有执行的命令,性能开销极高,不建议在生产环境长期运行。针对不同的队列查询需求,有更合适的专用CLI命令:

场景1:查询实例中所有现存的队列(Redis队列默认使用List类型存储)

  • 生产环境优先使用SCAN命令分批扫描,不会阻塞实例:
    # 扫描所有List类型的键,过滤出符合队列命名规则的结果
    redis-cli --scan --type list | grep queuename
    
  • 测试环境(实例数据量极小)可以使用KEYS命令快速查询:
    redis-cli KEYS "*queuename*"
    

    注意:KEYS命令会一次性扫描全库所有键,数据量较大的实例会触发秒级甚至分钟级阻塞,绝对禁止在生产环境使用。

场景2:查询指定队列的长度(排查队列堆积)

直接使用LLEN命令即可返回队列当前的元素总数:

redis-cli LLEN queuename

场景3:查看队列内现存的元素内容

使用LRANGE命令可以按范围读取队列元素,不需要实时捕获新写入操作时优先用该命令:

# 示例:查看队列中前100个元素,结束下标填-1时会返回队列全部元素
redis-cli LRANGE queuename 0 99

场景4:低开销实时监控队列的写入/消费操作

如果需要持续监听队列的操作事件,可以用Redis键空间通知功能,性能开销远低于MONITOR:

  1. 先临时开启List类型的键事件通知(重启后失效,永久生效需要修改配置文件中notify-keyspace-events参数为El):
    redis-cli CONFIG SET notify-keyspace-events El
    
  2. 订阅监听队列的push、pop操作:
    # 监听0号库所有List的push、pop事件,过滤指定队列的话末尾加 `| grep queuename` 即可
    redis-cli PSUBSCRIBE __keyevent@0__:lpush __keyevent@0__:rpush __keyevent@0__:lpop __keyevent@0__:rpop
    
    如果需要监听所有库的队列操作,把命令中@0替换为@*即可。

内容的提问来源于stack exchange,提问作者Ojer_Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 03:45:03