懵了,网上文章越看越懵,求大佬指点
网上文章总结为 everysec 时候,会启动一个后台线程每隔一秒进行一次 fsync ,每次 fsync 结束就会记录刷盘时间
1.主线在执行写命令时候,会检查刷盘时间
2.如果 fsync 已完成,主线程直接写 AOF buf
3.如果 fsync 未完成,检查上次刷盘时间
a).上次刷盘时间在 2 秒内,主线程直接返回,不写 AOF buf
b).上次刷盘时间在 2 秒外,主线程强制写 AOF buf
我不理解 3a 步骤,不写 AOF buf 那这个命令不就丢了么?
比如第 100ms 开始执行 fsync ,第 101ms 收到新的写命令为 set a 123 ,不写 AOF buf ,第 105ms 刷盘结束,那 set 命令不就丢了么
求大佬指教
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.