首页/数据/Redis 进阶速查/SAVE 与 BGSAVE 的区别
持久化56 条

SAVE 与 BGSAVE 的区别

SAVE 在服务进程内同步写快照,期间所有请求被阻塞;BGSAVE fork 子进程后台写,主进程继续服务请求。

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

对比

维度SAVEBGSAVE
阻塞全程阻塞主线程仅 fork 瞬间停顿
适用停机维护、离线导出生产常态快照
失败处理同步报错可直接感知结果写入 lastbgsave_status

示例

示例
redis-cli BGSAVE
redis-cli INFO persistence | Select-String rdb_last_bgsave_status
BGSAVE 期间主进程修改的页由 COW 机制保留旧值给子进程,因此内存占用会短时上升,重点监控 used_memory_rss。

易错点

  • BGSAVE 出错不会自动重试快照,需要靠 lastbgsave_status 告警发现
  • 在内存水位已经很高时触发 BGSAVE,COW 峰值可能触发 OOM,快照安排在低水位时段更稳

数据来源与参考

  • Redis 官方文档:SAVE 与 BGSAVE 命令说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌