开发者社区 问答 正文

AOFRW 是如何工作的?Redis 在 AOF 重写期间如何保证正常响应用户命令?

AOFRW 是如何工作的?Redis 在 AOF 重写期间如何保证正常响应用户命令?

展开
收起
不吃核桃 2024-07-22 19:53:11 52 发布于山西 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • AOFRW 工作时,Redis 首先会 fork 一个子进程进行后台重写操作。子进程会将执行 fork 那一刻 Redis 的数据快照全部重写到一个临时 AOF 文件中。在 AOF 重写期间,主进程依然可以正常响应用户命令,并将执行的写命令写入 aof_buf 和 aof_rewrite_buf。其中,aof_rewrite_buf 用于缓存重写期间主进程产生的增量变化。在子进程重写的后期阶段,主进程会将 aof_rewrite_buf 中累积的数据使用 pipe 发送给子进程,子进程会将这些数据追加到临时 AOF 文件中。

    2024-07-22 20:43:38 举报
    赞同 1 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等