RDB 如何保存数据,bgsave 过程 redis 还在修改数

2020-09-21  本文已影响0人  lotusgrm

1.redis 服务器主进程调用 fork() 函数,生成一个子进程
2.redis 服务器主进程可以继续处理来自其他客户端的请求,子进程将内存中的数据写入到一个临时的 rdb 文件,
由于 OS 的写时复制(copy on write)机制,父进程、子进程共享的是相同的物理页面,当父进程处理完请求时,
OS 会为父进程修改的页面创建副本,而不是写共享的页面。所以,子进程地址空间中的数据就是 fork 时刻整个
数据库的数据
3.子进程将数据全部写入临时 rdb 文件,用临时 rdb 文件替换原来的快照文件,子进程退出

上一篇 下一篇

猜你喜欢

热点阅读