直接执行 info persistence 可查看 rdb 和 aof 状态,关键字段包括 rdb_last_save_time、rdb_changes_since_last_save、aof_enabled、aof_last_rewrite_time_sec、aof_last_bgrewrite_status;其中 rdb_last_bgsave_status 为 ok 才表示 rdb 真正落盘成功,err 则表明最近一次失败。

如何用 INFO persistence 查看 RDB 和 AOF 状态
直接执行 INFO persistence 是最轻量、最可靠的持久化状态检查方式。它不依赖外部组件,返回字段全部来自 Redis 内部计数器,适合写入巡检脚本或告警逻辑。
关键字段包括:rdb_last_save_time(最后一次成功 RDB 时间戳)、rdb_changes_since_last_save(距上次 RDB 后的写操作数)、aof_enabled(是否开启 AOF)、aof_last_rewrite_time_sec(AOF 重写耗时)、aof_last_bgrewrite_status(上一次后台重写是否成功)。
注意:rdb_last_bgsave_status 为 ok 才表示 RDB 快照真正落盘成功;若为 err,即使 rdb_last_save_time 有值,也可能只是上次成功的残留时间,实际最近一次已失败。
为什么 rejected_connections 和 evicted_keys 也属于持久化风险指标
表面看这两个指标属于连接和内存范畴,但它们会间接暴露持久化异常:当 rejected_connections 持续增长,说明客户端反复重连,可能因 RDB/AOF 阻塞导致服务短暂不可用;evicted_keys 突增常伴随 used_memory 接近 maxmemory,而内存压力大会拖慢 AOF rewrite 或触发 fork 失败,最终使 aof_last_bgrewrite_status 变为 err。
所以监控不能只盯 persistence 段,需联动 memory 和 stats 段——比如发现 evicted_keys 增长同时 aof_last_bgrewrite_status 变 err,基本可断定是 fork 子进程失败导致 AOF 重写中断。
Redis 8.2.3 是一款安全优先的高性能键值存储系统。该版本紧急修复了可能引发远程代码执行(RCE)的高危漏洞(CVE-2025-62507),并解决了 HyperLogLog 及 Cuckoo Filter 等数据结构在特定场景下的崩溃问题。建议所有用户立即升级,以保障生产环境的系统稳定与数据安全。
redis-cli --stat 无法替代 INFO persistence 的原因
redis-cli --stat 只输出简化的实时统计行,包含 instantaneous_ops_per_sec、used_memory 等,但完全不包含任何持久化字段。它适合快速肉眼观察吞吐和内存趋势,但对判断 RDB 是否卡住、AOF 是否堆积无效。
常见误操作是把 --stat 当作全量监控入口,结果在 AOF 文件持续膨胀却无告警。真正做持久化健康检查,必须用 INFO persistence 或 Prometheus 抓取对应的 exporter 指标(如 redis_persistence_aof_last_rewrite_status)。
集群环境下 persistence 指标要分节点采集
Redis Cluster 中每个节点独立执行 RDB/AOF,INFO persistence 返回的是当前连接节点的状态,不是整个集群的聚合值。如果只监控一个主节点,可能漏掉某个从节点因磁盘满导致 aof_last_bgrewrite_status 为 err 的问题。
实操建议:
- 对所有主节点 + 关键从节点(如承担读流量的)单独采集
INFO persistence - 避免用 cluster nodes 输出中的
flags字段代替实际状态,因为slave标识只说明角色,不反映其 AOF 是否正常写入 - 若使用 Redis Exporter,确认其
redis_persistence_*指标已按 instance 标签区分,否则 Grafana 查询会混淆不同节点数据
持久化监控真正的难点不在采集,而在理解各指标间的因果链——比如 aof_current_size 突增本身不危险,但若同时 aof_last_bgrewrite_status 为 err 且 mem_fragmentation_ratio > 1.5,大概率是 fork 失败后 AOF 持续追加却无法重写,这时得立刻查系统日志里的 Cannot allocate memory 错误。










