主题
AOF 机制
AOF(Append Only File)是 Redis 的另一种持久化方式,它通过将所有写命令追加到日志文件中,确保数据的完整恢复。
工作原理
Redis 将所有对数据库的写操作(如 SET、DEL 等)以命令形式追加写入 AOF 文件。当 Redis 重启时,AOF 文件会被重新执行以恢复数据。
配置方式
在 redis.conf
中启用并配置 AOF:
conf
appendonly yes # 开启 AOF 持久化
appendfilename "appendonly.aof" # AOF 文件名
同步策略
appendfsync always
:每次写操作都同步写入磁盘,数据安全最高,但性能最低。appendfsync everysec
:每秒同步一次,性能和安全性折中,默认推荐。appendfsync no
:完全依赖操作系统刷新,性能最好但数据安全最低。
重写机制(AOF Rewrite)
随着写操作增多,AOF 文件会越来越大。Redis 支持后台自动重写 AOF 文件,生成最小化的新文件,减少文件体积,提高加载速度。
优缺点
- 优点:持久化粒度细,数据安全性高,能最大限度减少数据丢失。
- 缺点:AOF 文件相对 RDB 更大,写入性能略低于 RDB。
应用场景
适用于对数据安全要求高、不能容忍大量数据丢失的场景,通常与 RDB 结合使用,实现高效且安全的持久化方案。