AOFRW 是如何工作的?Redis 在 AOF 重写期间如何保证正常响应用户命令?
AOFRW 工作时,Redis 首先会 fork 一个子进程进行后台重写操作。子进程会将执行 fork 那一刻 Redis 的数据快照全部重写到一个临时 AOF 文件中。在 AOF 重写期间,主进程依然可以正常响应用户命令,并将执行的写命令写入 aof_buf 和 aof_rewrite_buf。其中,aof_rewrite_buf 用于缓存重写期间主进程产生的增量变化。在子进程重写的后期阶段,主进程会将 aof_rewrite_buf 中累积的数据使用 pipe 发送给子进程,子进程会将这些数据追加到临时 AOF 文件中。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。