恢复目标RDB 和 AOF 保存 Redis 数据的方式不同。RDB 在某个时间点生成数据集快照,文件通常适合搬运和离线留存;AOF 记录修改操作,恢复时需要重放记录。两者都不能脱离恢复目标单独评价。先定义可接受的数据丢失窗口(RPO)和从故障到关键服务恢复的时间(RTO),再评估快照频率、AOF同步策略、文件管理、启动耗时和业务验证方式。
还要区分持久化与独立备份。持久化文件保存在同一故障域时,磁盘损坏、误操作或逻辑错误可能同时影响数据和恢复副本。副本主要帮助可用性,删除或错误更新也可能复制过去。重要数据应有独立保护方案,并验证其恢复路径。
RDB 将一段时间内的数据状态固化为文件,恢复时加载快照而无需逐条执行所有历史写操作,文件也便于复制和归档。快照之间的写入可能无法从该文件恢复,因此快照间隔越长,理论上可能缺失的时间窗口越大。实际损失还取决于快照成功时间以及是否存在其他日志或备份。
生成快照会产生资源开销。具体负载与数据量、内存布局、磁盘能力和后台工作机制有关;高写入期间,复制内存页或磁盘写入可能影响延迟和可用内存。监控快照开始与结束时间、成功状态、文件大小、写入延迟和内存峰值,不要只看配置里设定的周期。计划周期不是已完成备份的证据。
AOF把写操作持久化到日志文件。同步频率影响崩溃时可能丢失的最近写入,也会影响写路径的磁盘开销;更频繁同步通常提升持久化程度,但必须实测对延迟与吞吐的影响。仅开启 AOF 并不代表每个已确认请求都已到达稳定存储,行为取决于同步配置、操作系统和存储环境。
恢复时需要读取并重放日志,日志越大,启动恢复可能越久。AOF 重写会生成更精简的等效操作表示以控制增长,但重写也会消耗 CPU、磁盘和内存资源。跟踪文件大小、重写开始与完成时间、失败情况、磁盘空间余量和恢复重放耗时。若重写或磁盘写入长期失败,持久化文件可能无法达到预期保护效果。
只启用 AOF 或 RDB、仅查看文件存在、只在健康运行时检查配置,都不能证明崩溃后能正确恢复。RDB更偏向紧凑时点状态,AOF更偏向记录近期变更并承担重放代价;具体组合和恢复顺序须按实际 Redis 版本及部署配置验证。验收需要证明持久化文件近期成功生成、恢复点与业务容忍范围相符、启动时间达到目标,且关键数据检查通过。保存演练记录并在升级、容量明显增长或同步策略变更后重新验证。