小于 1 分钟
AOF(Append Only File)日志
原理
执行写命令完成后会记录日志到硬盘
如何开启
# redis.conf
appendonly yes //是否开启AOF持久化
appendfilename "appendonly.aof" //AOF持久化文件名
为啥不在写命令执行前记录日志而是写命令执行之后呢
不阻塞写操作
检查开销
在写命令执行后记录日志有什么风险呢
丢失风险
主进程(执行命令\写日志) 阻塞 [下一个] 命令
对风险消除的措施 - 写回硬盘策略变更 redis.conf.appendfsync
Always 同步写回[最不可能丢数据]
Everysec 每秒写回来[可能丢失1s数据]
No 操作系统控制写回[性能最好][数据丢失数量可能会很多]
AOF重写机制(应对AOF日志文件增长变大的问题)
超过阙值64M,最新的 [键值对] 状态,一条命令记录,写完了文件覆盖形式更新AOF日志
后台子进程 bgrewriteaof 来完成避免阻塞主进程