开发者社区> 问答> 正文

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

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

展开
收起
不吃核桃 2024-07-22 19:53:11 33 0
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 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Redis在唯品会的应用实践——架构演进与功能定制 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载