首页/数据/Redis 进阶速查/INFO persistence 常用字段解读
持久化56 条

INFO persistence 常用字段解读

排查持久化状态先看 INFO persistence:rdb_last_save_time、rdb_changes_since_last_save、aof_last_write_status 等字段直接反映最近一次保存与出错情况。

Redis 进阶速查数据更新于 2026-10-13

INFO persistence 怎么读

INFO persistence 是持久化状态的唯一权威视图,把「上一次快照是什么时候、成功没有、AOF 是否开启、文件多大、当前有没有任务在跑」这些信息集中在一个输出里。排查持久化问题时应先看这一节,它能在几秒内区分三类情况:任务正在运行、任务上次失败、以及配置根本没有按预期生效。只监控实例存活而忽略这些字段,会漏掉服务正常但数据处于风险中的静默问题。

基本信息

RDB 相关rdb_last_save_time、rdb_changes_since_last_save、rdb_last_bgsave_status
AOF 相关aof_enabled、aof_last_bgrewrite_status、aof_last_write_status、aof_current_size
加载相关loading 与 rdb_last_load_keys_* 系列,反映最近一次加载情况
任务状态rdb_bgsave_in_progress、aof_rewrite_in_progress
字段命名不同版本存在差异,尤其 AOF 相关字段,监控脚本需按实际版本核对

典型使用场景

  • 上线验收:确认持久化策略真的生效,而不是配置文件写了但实例没加载
  • 日常巡检:把状态字段接入监控,快照失败与重写失败都应产生告警
  • 故障排查:写入报 MISCONF 时确认是哪一类持久化任务失败
  • 容量趋势分析:跟踪文件体积变化,判断重写是否按预期触发
  • 恢复演练:核对 rdb_last_load_keys_* 与业务预期键数是否一致

观察与筛选

观察与筛选
redis-cli INFO persistence                     # 一次看全
redis-cli INFO persistence | grep -E 'rdb_last_bgsave_status|aof_last_bgrewrite_status'
redis-cli INFO persistence | grep -E 'rdb_changes_since_last_save|rdb_last_save_time'
redis-cli INFO persistence | grep -E 'aof_enabled|aof_current_size|aof_base_size'
redis-cli INFO persistence | grep -E 'loading|rdb_last_load_keys'
watch -n 30 "redis-cli INFO persistence | grep -E 'rdb_last_save_time|aof_current_size'"   # 简易趋势观察

关键字段与判断

字段含义异常判断
rdb_last_bgsave_status最近一次后台快照结果err 表示磁盘或权限有问题
rdb_changes_since_last_save距上次快照的写入次数长期居高不下说明快照未成功
aof_last_write_statusAOF 最近一次刷盘结果err 会触发写保护,需立即处理
aof_last_bgrewrite_status最近一次 AOF 重写结果err 会导致文件持续膨胀
loading当前是否正在从文件加载数据为 1 时实例不对外提供服务
rdb_changes_since_last_save 长期居高不下的两层含义:一是 save 条件始终没被满足(例如写入量小、条件过于严格),二是快照持续失败。两者都意味着数据丢失风险在累积,判断时要结合 rdb_last_bgsave_status 一起看,只看一个字段容易误判。
不要用进程存活作为数据安全的判据:快照与重写失败都不会让进程退出,实例看起来完全健康,直到磁盘写满触发写保护或机器故障时才发现没有任何可用备份。状态字段的监控与磁盘使用率监控必须同时具备。

易错点

  • 监控采集脚本只看 INFO 里的内存与连接数,持久化失败长期无人发现,最终以写入全面报错的形式爆发
  • 跨版本套用同一份字段清单,新版本调整字段名后监控静默失效,表现为指标缺失却无告警
  • 把状态字段的 err 当成瞬时抖动忽略,实际失败会持续存在且不会自愈,需要人工介入
  • 只关注 RDB 状态而忽略 AOF 的两个状态字段,AOF 重写失败导致的文件膨胀因此被漏掉

数据来源与参考

  • Redis 官方文档:INFO persistence 段落说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌