*Redis MONITOR 命令

实时输出服务器接收到的所有命令。用于调试和监控。


*语法

MONITOR

*返回值

进入监控模式,持续输出命令信息。格式:时间戳 [数据库] [客户端] "命令" "参数" ...


*时间复杂度

O(N),N 为命令数量(持续输出)。

⚠️ 性能警告:MONITOR 会消耗大量 CPU 和网络带宽,生产环境慎用。高 QPS 下可能导致性能下降 50% 以上。


*示例

> MONITOR
OK
1717000000.123456 [0 192.168.1.100:54321] "GET" "mykey"
1717000000.123789 [0 192.168.1.100:54321] "SET" "mykey" "value"
1717000000.124012 [1 192.168.1.101:54322] "HGET" "user:1001" "name"

*常见错误

  1. 生产环境性能影响:MONITOR 输出所有命令,QPS 高时严重影响性能。

*最佳实践

  1. 调试专用:仅在开发调试或低流量环境使用 MONITOR。
  2. 短暂使用:不要长时间运行 MONITOR,用完立即退出(Ctrl+C)。
  3. 替代方案:生产环境使用 SLOWLOGINFO stats、客户端监控等替代方案。

*FAQ

Q: MONITOR 会输出所有命令吗? A: 是。包括所有客户端的所有命令,以及 pubsub 消息。

Q: MONITOR 对性能影响有多大? A: 高 QPS 下可能降低性能 50% 以上。建议只在调试时使用。