Skip to content

AOF持久化

概述

AOF(Append Only File)记录所有写命令,以日志形式追加保存。

同步策略

配置安全性性能
always每命令同步最慢
everysec每秒同步较快
no操作系统决定最快
redis
appendonly yes
appendfsync everysec

rewrite机制

问题

AOF文件随时间增长会很大。

解决

redis
# 自动rewrite
auto-aof-rewrite-percentage 100  # 增长100%触发rewrite
auto-aof-rewrite-min-size 64mb   # 最小64MB

rewrite流程

1. fork子进程
2. 子进程将数据写成新的AOF
3. 父进程缓存新命令
4. 原子替换旧AOF

混合持久化

redis
aof-use-rdb-preamble yes

格式

|RDB数据|AOF命令|

优点

  • 恢复快(RDB部分)
  • 数据全(AOF部分)

面试考点

Q: RDB vs AOF?

特性RDBAOF
文件大小
恢复速度
数据安全可能有丢失可配置
性能较好always慢

Q: AOF文件过大怎么办?

使用bgrewriteaof手动触发rewrite,或配置自动rewrite。

最后更新: