*Redis LATENCY LATEST 命令

LATENCY LATEST 用于返回所有被监控事件的最新延迟采样信息及历史最大延迟。


*语法

LATENCY LATEST

*参数说明

该命令无参数。


*返回值

  • Array:每个被监控事件返回一个包含四个元素的数组 [event_name, timestamp, latest_latency_ms, max_latency_ms]
  • Empty Array:当前没有任何被监控的事件时返回空数组

*时间复杂度

O(1)

*

*示例

*查看所有最新延迟

> LATENCY LATEST
1) 1) "command"
   2) (integer) 1717462800
   3) (integer) 3
   4) (integer) 120
2) 1) "fork"
   2) (integer) 1717461000
   3) (integer) 250
   4) (integer) 500
3) 1) "aof-write"
   2) (integer) 1717462805
   3) (integer) 12
   4) (integer) 45

*无任何监控事件

> LATENCY LATEST
(empty array)

*仅有一个事件被监控

> LATENCY LATEST
1) 1) "command"
   2) (integer) 1717462800
   3) (integer) 1
   4) (integer) 10

*常见错误

错误 原因 解决
ERR unknown subcommand 子命令拼写错误 确认命令为 LATENCY LATEST
(empty array) 尚未触发任何可监控事件 等待系统运行一段时间后再查询

*最佳实践

  • 作为 Redis 延迟监控的入口命令,优先使用它了解全貌
  • 关注 max_latency_ms 列,快速识别历史上最慢的操作类型
  • 建议将其集成到监控告警系统,对 latest_latency_msmax_latency_ms 设置阈值
  • 结合 LATENCY RESET 定期清理旧的最大值,避免历史峰值干扰当前判断

*FAQ

Q1: maxlatencyms 会一直增长吗? A: 是的,自 Redis 启动或上次 LATENCY RESET 以来,max_latency_ms 会持续记录遇到的最大值,直到被重置。

Q2: 如何只查看某一个事件的最新延迟? A: LATENCY LATEST 返回所有事件,若只想看某一个,可配合 LATENCY HISTORY event 查看该事件的详细历史。

Q3: 为什么某些事件返回的 latestlatencyms 和 maxlatencyms 相同? A: 说明该事件只被采样过一次,或者自上次重置后仅发生了一次。