AOF重写流程

来源:5-7 AOF(2)

G91

2019-08-25

老师,您好,AOF在进行重写时,fork出来的子进程我理解是在整理旧文件中的命令,aof_buf是在子进程整理期间,父进程接收到的客户端的相关命令会存在这里。但是aof_rewrite_buf的作用是什么?

写回答

2回答

梦飞_0002

2021-04-20

fork出的子进程并不在整理旧AOF文件中的命令,fork操作会运用操作系统提供的写时复制技术,将主进程内存页表复制一份给子进程,实现父子进程数据共享,fork出的子进程是通过内存页表读取内存数据,并解析成一条条操作命令,写入一个新的AOF文件中;

但是其中的数据并不完整,还少了在这期间产生的一系列写操作。而aof_rewrite_buf就是用来存储这部分数据的,等到子进程完成新的AOF写入后,会将该buf中的数据追加到新的AOF文件中,这样这个新AOF数据就完整了

1
0

carlosfu

2020-05-14

fork出来的子进程我理解是在整理旧文件中的命令 这个不是整理文件,而是fork一个进程写一个新文件然后替换

0
0

一站式学习Redis 从入门到高可用分布式实践

Redis课程升级!系统梳理Redis知识体系,掌握redis必备!

2277 学习 · 261 问题

查看课程