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。

最后更新: