AOF,Append Only File,是指 Redis 将每一次的写操作都以日志的形式记录到一个 AOF文件中的持久化技术。当需要恢复内存数据时,将这些写操作重新执行一次,便会恢复到之前的内存数据状态。
AOF的开启 append only file
- 通过vim redis.conf进行修改
- 可以通过redis中进行修改,通过以下命令进行修改,但是config set appendonly yes 只是在缓存中修改,再通过config rewrite才能将redis.conf的也修改。
Rewrite 机制
所谓 Rewrite 其实就是对 AOF 文件进行重写整理。当 Rewrite 开启后,主进程 redis-server
创建出一个子进程 bgrewriteaof,由该子进程完成 rewrite 过程。其首先对现有 aof 文件进行
rewrite 计算,将计算结果写入到一个临时文件,写入完毕后,再 rename 该临时文件为原 aof
文件名,覆盖原有文件。
rewrite 计算也称为 rewrite 策略。rewrite 计算遵循以下策略:
- 读操作命令不写入文件
- 无效命令不写入文件
- 过期数据不写入文件
- 多条命令合并写入文件