11.4 重点回顾

·AOF文件通过保存所有修改数据库的写命令请求来记录服务器的数据库状态。

·AOF文件中的所有命令都以Redis命令请求协议的格式保存。

·命令请求会先保存到AOF缓冲区里面,之后再定期写入并同步到AOF文件。

·appendfsync选项的不同值对AOF持久化功能的安全性以及Redis服务器的性能有很大的影响。

·服务器只要载入并重新执行保存在AOF文件中的命令,就可以还原数据库本来的状态。

·AOF重写可以产生一个新的AOF文件,这个新的AOF文件和原有的AOF文件所保存的数据库状态一样,但体积更小。

·AOF重写是一个有歧义的名字,该功能是通过读取数据库中的键值对来实现的,程序无须对现有AOF文件进行任何读入、分析或者写入操作。

·在执行BGREWRITEAOF命令时,Redis服务器会维护一个AOF重写缓冲区,该缓冲区会在子进程创建新AOF文件期间,记录服务器执行的所有写命令。当子进程完成创建新AOF文件的工作之后,服务器会将重写缓冲区中的所有内容追加到新AOF文件的末尾,使得新旧两个AOF文件所保存的数据库状态一致。最后,服务器用新的AOF文件替换旧的AOF文件,以此来完成AOF文件重写操作。