引入‘页表’的概念
Linux里面每个进程都是无法直接操作物理内存的,每个进程只能用页表映射本进程的虚拟内存到物理内存的映射。
bgsave的时候,主进程
会fork(复制)一个子进程
,然后该过程仅仅复制了页表。复制页表的过程是纳秒级别的,很快,并且fork的时候会把物理内存去雨直接设置为read-only(只读),然后子进程负责写入新的RDB文件到磁盘,替换旧的RDB文件。
Copy-On-Write
如果主进程接受了写入的请求,那么主进程会直接把内存数据拷贝一份,并且在副本上完成写入操作,写入操作完成之后读操作指向副本