首页/数据/数据库速查/RDB 持久化:SAVE / BGSAVE / LASTSAVE
Redis 运维与场景124 条

RDB 持久化:SAVE / BGSAVE / LASTSAVE

RDB 是某一时刻的全量快照:BGSAVE 派生(fork)子进程写盘不阻塞主线程;SAVE 同步阻塞主线程,生产禁用。

数据库速查数据更新于 2026-10-13

RDB 持久化是什么

RDB 是某一时刻的全量内存快照,默认写成 dir 目录下的 dump.rdb。BGSAVE 通过 fork 子进程写盘,父进程继续处理请求(写时复制 COW),线上环境只用这一种;SAVE 在进程内同步写盘,大实例上会阻塞数秒到数十秒。LASTSAVE 返回上次成功保存的 Unix 时间戳,与 date +%s 对比就能判断快照新鲜度。

基本信息

适用版本Bgsave 全版本;rdb_last_cow_size 需 Redis 4.0+
关键配置save / dbfilename / dir / stop-writes-on-bgsave-error
fork 开销与实例数据量同量级,取决于 COW 写入量
权限要求CONFIG 系列需 admin 权限
文件位置dir 参数指向的目录,默认 /var/lib/redis

典型使用场景

  • 定时快照做冷备:dump.rdb 可直接拷走,用于恢复或测试环境建库
  • 主从首次全量同步:从库接入时主库自动触发一次 BGSAVE 传输 RDB
  • 版本升级前的保险:升级前手动 BGSAVE 并确认状态为 ok
  • 容量评估:对比 dump.rdb 大小与 used_memory,估算落盘与传输成本
  • 排查延迟毛刺:fork 与 COW 造成的调用耗时能在 INFO 里看到
  • 纯缓存实例:可关闭持久化,但必须接受重启后全量回源

示例

示例
BGSAVE            # 返回 Background saving started
LASTSAVE          # 上次成功保存的 Unix 时间戳,例:1758451234
date +%s          # 与上面相减即为快照年龄
INFO persistence | grep -E 'rdb_last_bgsave_status|rdb_bgsave_in_progress'  # ok / 0
CONFIG GET save   # 查看自动快照规则,如 3600 1 300 100 60 10000
CONFIG GET dir    # 确认 dump.rdb 落盘目录及磁盘余量
df -h $(redis-cli CONFIG GET dir | tail -1)   # 检查写盘目录空间

关键字段读法

字段含义异常表现
rdb_last_bgsave_status上次后台保存最终状态err 说明写盘失败,需查磁盘与权限
rdb_bgsave_in_progress是否正在保存长时间为 1 说明写盘慢或被阻塞
rdb_last_save_time上次成功保存时间戳与当前时间差过大说明快照过期
latest_fork_usec最近一次 fork 耗时(微秒)过大说明实例大或受 THP 影响
rdb_last_cow_size上次保存期间 COW 占用字节接近数据量说明写多,需留足内存
SAVE 在大库上可能阻塞数秒到数十秒,任何在线库都不要用;只在拷数据文件的维护窗口使用 SHUTDOWN SAVE,或在 BGSAVE 完成后等状态变 ok 再拷。
BGSAVE 期间 fork 与 COW 会额外占用内存,写密集实例可能瞬间接近物理内存上限;同时建议关闭透明大页(THP),否则 fork 延迟与 COW 开销会被放大。

易错点

  • 在线上执行 SAVE,主线程写盘期间所有请求排队,业务表现为长时间超时
  • maxmemory 贴顶部署又频繁 BGSAVE,COW 内存把物理内存打满触发系统 OOM Killer
  • stop-writes-on-bgsave-error 保持 yes 时磁盘写满,写命令被直接拒绝,需要同时监控磁盘水位
  • 只看 BGSAVE 是否返回 started 就以为成功:必须核对 rdb_last_bgsave_status 是否为 ok
  • 把 dump.rdb 直接拷到从库目录就开机,未考虑版本与配置差异,可能恢复到错误数据

数据来源与参考

  • Redis 官方文档: BGSAVE
  • Redis 官方文档: SAVE
  • Redis 官方文档: LASTSAVE

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌