开发者学堂课程【Redis 入门到精通(进阶篇):持久化-AOF 重写工作原理】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/765/detail/13427
持久化-AOF 重写工作原理
一、AOF 工作流程
1、always
执行指令 set 进入主进程去执行 set,同时启动 fork 子进程,把信息写入 aof 文件(原始没有重写的 aof 文件)中。
2、everysec
配置每秒,主进程执指令 set 后,在子进程中会装入 aof 缓存区中(丢失的数据即为这里的数据),当时间到达后,会放入 aof 文件中。满足条件为每秒。
3、基于 everysec 开启重写
基于 everysec 开启重写,执行指令set进入主进程,fork 除了有 aof 缓存区外,还有 aof 重写缓存区(专门用来重写),当保存了 aof 重写缓存区的数据后,一旦执行重写 bgrewriteaof 后,会创建自己的主进程,对应子进程 fork 来完成重写操作,接下来重写一个新的 aof 文件。数据在 aof 重写缓存区中,最终进行合并替换,替换掉原来的文件。若用配置激活,执行这个命令是谁执行的,配置如何激活参照两个条件(以前课程有提及)。