下图是Redis持久化,RDB方式的一个原理图。
1.在执行bgsave的时候,会fork一个子进程。
2.子进程根据父进程的内存数据创建一个临时快照。
3.子进程创建完临时快照之后,会通知父进程。此时父进程会更新持久化的信息。
4.这时候会原子替换旧的rdb文件。
问题
1.第4步中的原子替换是父进程操作还是fork出来的子进程操作?
2.在子进程创建临时快照的过程中,由于父进程还在响应新的命令,此时的新命令是如何处理到新的rdb文件?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…