RDB持久化选择之AOF方案

AOF方案是Redis的另一种持久化方案,想学习基础的朋友可以看我前面的文章,现在我们来聊聊AOF。

 

有了RDB为什么还要AOF呢?当然这个问题的答案是显而易见的,我们今天聊的是

  1. RDB现存问题
  2. 什么是AOF
  3. AOF三种策略
  4. AOF重写

 

RDB现在出现的问题:

耗时、耗性能、同时也会出现不可控和数据丢失现象

RDB持久化选择之AOF方案

 

这时就引出了我们的AOF,AOF利用的是日志原理。当我们执行一条命令时(例如set hello wrold),那么AOF文件里面也就会记录!

 

AOF的三种策略:

  1. always
  2. everysec
  3. no

 

Redis写命令不是写在硬盘当中,而是现在硬盘的缓冲区中,缓冲区再根据写入策略将其写入硬盘中,always的意思时我写的每条命令都会fsync到硬盘上的AOF文件中(fsync把文件在内存中的部分写回磁盘

 

everysec(每秒策略)是每秒把缓冲区fsync写到硬盘,如果出现故障可能会丢失一秒的数据

RDB持久化选择之AOF方案

no策略就是操作系统决定什么时候fsync写到硬盘,策略没有最好,最有最适合!!!