【笔记】《Redis设计与实现》chapter11 AOF持久化

11.1 AOF持久化的实现

命令追加

当AOF持久化处于开启状态时,服务器执行完一个写命令之后,会以协议格式将被执行的写明了追加到服务器状态的aof_buf缓冲区

struct redisServers{
    //...
    
    // AOF缓冲区
    sds aof_buf;
    
    //...
}

AOF文件的写入与同步

11.2 AOF文件的载入

image-20201010140954408

11.3 AOF重写

AOF文件重写的实现

AOF后台重写

​ 当需要进行AOF重写时,服务器进程创建子进程和一个AOF重写缓冲区,避免与父进程数据库状态混淆,在此之后服务器会将接收到的写命令同时写入AOF缓冲区和AOF重写缓冲区,当子进程将此前状态重写到AOF文件完成后,发送信号给服务器进程,服务器进程的信号处理函数将AOF重写缓冲区的状态覆盖到AOF文件中

posted @ 2021-04-20 11:29  汉森伯逸  阅读(43)  评论(0)    收藏  举报