INFO 是什么
INFO 输出实例的运行时全貌,按分节组织:Server、Clients、Memory、Persistence、Stats、Replication、CPU、Keyspace 等。它是监控采集和人工巡检最常用的入口;默认输出很大,脚本里应带上分节名只取需要的内容,避免无谓开销。
基本信息
| 用法 | INFO 或 INFO section,如 INFO memory |
|---|---|
| 主要分节 | server / clients / memory / persistence / stats / replication / cpu / keyspace |
| 配套命令 | DBSIZE、SLOWLOG、CONFIG GET |
| 采集建议 | 脚本只取分节,并控制采集频率 |
| 替代方式 | 监控系统可用 redis_exporter 等采集同一批字段 |
典型使用场景
- 日常巡检:一次拿到版本、内存、主从与键数量
- 内存治理:看已用内存、碎片率与淘汰计数
- 持久化核对:确认 RDB 与 AOF 最近一次执行是否成功
- 主从核对:看角色、连接状态与偏移量
- 命中率分析:用 hits 与 misses 计算缓存效果
- 容量趋势:定期采集 key 数量与内存,画增长曲线
示例
示例
INFO # 全部输出,内容很多
INFO server # 版本、运行时长、进程 ID
INFO memory # 内存与碎片率
INFO persistence # RDB 与 AOF 状态
INFO replication # 主从状态与偏移
INFO stats # 命令统计与命中率
INFO keyspace # 各库键数与过期键数
DBSIZE # 当前库键数
INFO memory | grep -E 'used_memory_human|mem_fragmentation_ratio|maxmemory_human|evicted_keys'关键字段读法
| 字段 | 含义 | 异常表现 |
|---|---|---|
| used_memory_human | 已用内存 | 持续增长且不回落说明存在泄漏或未设上限 |
| mem_fragmentation_ratio | 内存碎片率 | 远大于 1 说明碎片严重,可考虑整理 |
| instantaneous_ops_per_sec | 瞬时每秒操作数 | 仅为采样值,不能用于精确计费 |
| keyspace_hits / misses | 命中与未命中次数 | 命中率长期偏低要查缓存设计 |
| evicted_keys | 因超限被淘汰的键数 | 持续增长说明容量不足或策略不当 |
| connected_clients | 当前连接数 | 接近上限时新连接会被拒绝 |
脚本采集时用分节(如 INFO memory)降低开销;INFO 命令本身也会计入命令统计,高频采集会轻微影响实例。
命中率用 keyspace_hits 除以 hits 与 misses 之和得出;这两个计数器是累加值,要按时间窗口取差值计算,直接看总量会得出错误结论。
keyspace 分节只列出非空的库,空库不出现属于正常现象;设置了 maxmemory 的实例还能在 memory 分节里看到 maxmemory_policy,方便确认淘汰策略是否生效。