CONFIG SET appendonly yes CONFIG SET auto-aof-rewrite-percentage 100 CONFIG SET auto-aof-rewrite-min-size 256mb BGREWRITEAOF
实例重启后要等好几分钟才能对外服务,日志显示正在加载持久化文件。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。
原因不复杂,AOF 文件长期未重写体积过大,逐条回放耗时;同时加载 RDB 与 AOF 还增加 IO 压力。
「Redis 持久化恢复慢」改完先别急着全量,挑一台机器放半天,真有问题这段时间就能看出来。改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。
验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。
报错里带路径的,先去看那个路径在不在、权限对不对。同一份配置存在多处的,先确认改的是被加载的那一份。
处理上按这个顺序:开启 AOF 重写并设置触发阈值;按业务权衡是否保留 RDB;使用固态盘并预留内存余量。
改完只确认一件事:重启恢复时间缩短到可接受范围,数据完整性校验通过。