懵了,网上文章越看越懵,求大佬指点
网上文章总结为 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 命令不就丢了么
求大佬指教