首页/数据/Redis 进阶速查/版本升级时的持久化注意点
持久化56 条

版本升级时的持久化注意点

升级前用 redis-check-rdb/redis-check-aof 校验现有文件,确认备份可加载;升级后观察 aof 相关目录结构变化(7.0 多文件)与加载来源。

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

升级时的持久化账本

持久化文件是升级过程中最容易出问题的一环:升级前的快照必须能被新版本加载,升级后的数据又必须能被旧版本识别,前提是计划回滚。规范做法是升级前用 redis-check-rdb 与 redis-check-aof 把现有文件校验一遍,记录键总量与几个抽样键作为对账基准,并确认备份链路独立于本机磁盘。7.0 起 AOF 由单文件改为目录结构,旧备份脚本需要同步调整。

基本信息

升级前校验 RDB 与 AOF、记录 DBSIZE 与抽样键、确认备份可加载
升级中观察启动日志的加载来源是真数据还是空库
升级后对账键数量与抽样键,检查新版本告警
回滚前提保留旧版本能加载的快照或先做逻辑导出
结构变更7.0 起 AOF 目录为 appendonlydir 多文件

典型使用场景

  • 小版本滚动升级,风险较低但仍要确认配置项没有改名
  • 跨大版本升级,持久化格式与目录结构都可能变化
  • 容器化实例升级镜像标签,数据卷的挂载路径必须保持一致
  • 主从一起升级前先升从库并从库加载验证,再动主库
  • 上线前在演练环境用新版本加载真实备份,验证可加载性

升级核对清单

升级核对清单
redis-check-rdb /data/redis/dump.rdb                              # 快照完整性
redis-check-aof /data/redis/appendonlydir/appendonly.aof.manifest   # 7.0+ AOF 清单
redis-cli DBSIZE                                                  # 升级前记录键总数
redis-cli --scan --pattern 'order:*' | head -5                    # 记几个抽样键供对账
redis-cli INFO server | grep -E 'redis_version|uptime_in_seconds'  # 升级后确认版本与启动时长

阶段核对表

阶段动作目的
升级前校验持久化文件、记录基线数据量为回滚与对账留下依据
升级前单独备份一次并异地保存避免升级脚本顺带覆盖本地备份
升级中观察启动日志的加载来源确认数据真的被载入而非空库启动
升级后抽样键与键总数对账尽早发现数据缺失或加载不全
跨大版本升级前先读对应版本的 Release Notes 里持久化相关章节,比升级完再排错省时得多,尤其是配置项改名与默认值变化。
7.0 起 AOF 变成目录结构,备份脚本若仍按单个 appendonly.aof 抓取,拿到的文件很可能不完整,演练时必须验证备份可加载。

易错点

  • 升级前只测应用连通性、不验证数据文件能否被新版本加载,是回滚失败的高发原因
  • 混合版本滚动升级时顺序颠倒,先升主库再升从库,复制因快照格式被拒而中断
  • 升级脚本顺手覆盖了本地备份目录,回滚时没有可用的旧数据
  • 忽略 7.0 的 AOF 目录结构变化,备份实际不完整却一直显示成功

数据来源与参考

  • Redis 官方文档:升级指南 / 各版本 Release Notes
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌