关闭自动快照
把快照规则配置设成空字符串表示关闭自动快照:实例不再按多少秒内多少次改动这类规则触发后台保存。它不会让持久化能力消失,手动触发快照、复制时建立全量同步、以及关闭实例时按策略保存这几条路径依然存在。
基本信息
| 配置项 | save,置为空字符串即关闭自动快照 |
|---|---|
| 默认值 | 较新版本为 3600 1 300 100 60 10000,较早版本为 900 1 300 10 60 10000 |
| 运行期修改 | CONFIG SET save "" 立即生效但不落盘 |
| 固化方式 | CONFIG REWRITE 或直接改配置文件 |
适用场景
- 纯缓存实例:数据可由后端重建,不希望后台保存的分支开销影响延迟
- 已启用增量日志且不需要快照作为额外保险的实例
- 主库不承担备份职责:把快照动作集中放到从库上做
- 排查快照引发的延迟尖刺时临时关闭,作为对照实验
操作与验证
操作与验证
redis-cli CONFIG GET save # 查看当前快照规则
redis-cli CONFIG SET save "" # 运行期关闭自动快照
redis-cli CONFIG GET save # 确认为空
redis-cli CONFIG REWRITE # 把改动写回配置文件
redis-cli BGSAVE # 需要时手动触发一次快照
redis-cli INFO persistence | grep -E 'rdb_last_bgsave_status|rdb_changes_since_last_save'关闭后的影响面
| 能力 | 是否受影响 | 说明 |
|---|---|---|
| 自动快照 | 关闭 | 不再按改动阈值自动触发后台保存 |
| 手动保存 | 保留 | 由运维主动触发,前台保存会阻塞主线程 |
| 复制全量同步 | 保留 | 建立主从时仍会生成快照文件或走无盘传输 |
| 关闭时保存 | 按策略 | 取决于关机方式与相关配置 |
| 增量日志 | 不受影响 | 独立开关,与快照规则无关 |
运行期修改只影响当前进程,重启后按配置文件恢复原规则。生产变更要同步改配置文件并执行重写,或直接编辑配置后滚动重启,否则会出现关了却又有快照的困惑。
只想降低快照频率而不是完全关闭,可以放宽阈值而不是置空。但阈值本身决定的是多久内多少次改动才触发,放宽后数据丢失窗口会同步变大。
关闭自动快照前先确认这个实例真的可丢:如果既没有增量日志也没有从库,进程重启就意味着数据集清空,恢复只能靠后端回源,瞬间放大的流量很容易压垮数据库。