AOF是写前日志还是写后日志?
发布时间:2022-09-15 16:43:48
发布人:wjy

AOF日志采用写后日志,即先写内存,后写日志。
为什么采用写后日志?
Redis要求高性能,采用写日志有两方面好处:
避免额外的检查开销:Redis 在向 AOF 里面记录日志的时候,并不会先去对这些命令进行语法检查。所以,如果先记日志再执行命令的话,日志中就有可能记录了错误的命令,Redis 在使用日志恢复数据时,就可能会出错。
不会阻塞当前的写操作
但这种方式存在潜在风险:
如果命令执行完成,写日志之前宕机了,会丢失数据。
主线程写磁盘压力大,导致写盘慢,阻塞后续操作。