AOF方案是Redis的另一种持久化方案,想学习基础的朋友可以看我前面的文章,现在我们来聊聊AOF。
有了RDB为什么还要AOF呢?当然这个问题的答案是显而易见的,我们今天聊的是
- RDB现存问题
- 什么是AOF
- AOF三种策略
- AOF重写
RDB现在出现的问题:
耗时、耗性能、同时也会出现不可控和数据丢失现象
这时就引出了我们的AOF,AOF利用的是日志原理。当我们执行一条命令时(例如set hello wrold),那么AOF文件里面也就会记录!
AOF的三种策略:
- always
- everysec
- no
Redis写命令不是写在硬盘当中,而是现在硬盘的缓冲区中,缓冲区再根据写入策略将其写入硬盘中,always的意思时我写的每条命令都会fsync到硬盘上的AOF文件中(fsync把文件在内存中的部分写回磁盘)
everysec(每秒策略)是每秒把缓冲区fsync写到硬盘,如果出现故障可能会丢失一秒的数据
no策略就是操作系统决定什么时候fsync写到硬盘,策略没有最好,最有最适合!!!