采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,您好,AOF在进行重写时,fork出来的子进程我理解是在整理旧文件中的命令,aof_buf是在子进程整理期间,父进程接收到的客户端的相关命令会存在这里。但是aof_rewrite_buf的作用是什么?
fork出的子进程并不在整理旧AOF文件中的命令,fork操作会运用操作系统提供的写时复制技术,将主进程内存页表复制一份给子进程,实现父子进程数据共享,fork出的子进程是通过内存页表读取内存数据,并解析成一条条操作命令,写入一个新的AOF文件中;
但是其中的数据并不完整,还少了在这期间产生的一系列写操作。而aof_rewrite_buf就是用来存储这部分数据的,等到子进程完成新的AOF写入后,会将该buf中的数据追加到新的AOF文件中,这样这个新AOF数据就完整了
fork出来的子进程我理解是在整理旧文件中的命令 这个不是整理文件,而是fork一个进程写一个新文件然后替换
登录后可查看更多问答,登录/注册
Redis课程升级!系统梳理Redis知识体系,掌握redis必备!
1.2k 1
1.2k 2
1.0k 12
2.2k 9
874 6