首页/数据/NoSQL 速查/Redis 持久化:RDB 与 AOF
本包目录(322 条)
MongoDB99 条Elasticsearch89 条ClickHouse56 条时序与列式28 条
选型与架构50 条

Redis 持久化:RDB 与 AOF

RDB 是周期性快照,文件紧凑、恢复快;AOF 追加写命令,按 appendfsync 策略控制丢失窗口,Redis 7 采用多文件 AOF 并通过重写控制体积。两者可同时开启,用混合方式兼顾恢复速度与丢数窗口。

NoSQL 速查数据更新于 2026-10-12
RDBsave 触发点或手动 BGSAVE 生成快照;fork 子进程写盘,主进程继续服务
AOFappendonly yes 记录写命令;appendfsync everysec 时丢失窗口约 1 秒
混合aof-use-rdb-preamble yes:重写时前半段用 RDB 格式,加载更快
恢复重启时优先加载 AOF(开启时),否则加载 RDB 文件

配置片段

配置片段
appendonly yes
appendfsync everysec
aof-use-rdb-preamble yes

save 3600 1
save 300 100
save 60 10000

# 运行时操作
BGSAVE          # 手动快照
BGREWRITEAOF    # 重写 AOF
redis-check-aof --fix appendonly.aof
持久化是可用性配置的一部分:副本节点也建议开启,否则主节点故障切换后新主没有本地数据文件可用。

易错点

  • fork 与写时复制在写密集时带来延迟抖动,快照频率要结合内存规模评估
  • AOF 重写期间新旧文件并存会占用额外磁盘,磁盘水位要预留出重写空间

数据来源与参考

  • Redis Docs: Persistence
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌