redis的aof持久化模式

凌风郎少 2020-05-07

AOF的重写机制

AOF的工作原理是将写操作追加到文件中,文件的冗余内容会越来越多。所以 Redis 新增了重写机制。当AOF文件的大小超过所设定的阈值时,Redis就会对AOF文件的内容压缩。

重写的原理:Redis 会fork出一条新进程,读取内存中的数据,并重新写到一个临时文件中。并没有读取旧文件,因为旧文件太大了。最后替换旧的aof文件。

触发机制:当AOF文件大小是上次rewrite后大小的一倍且文件大于64M时触发。这里的“一倍”和“64M” 可以通过配置文件修改。可以设置大一点,不然会频繁重写。

AOF 的优缺点

优点:数据的完整性和一致性更高
缺点:因为AOF记录的内容多,文件会越来越大,数据恢复也会越来越慢。效率会比rdb差一点,并且相同数据的情况下,aof文件会比dump.rdb文件大一点。

注意

  1. Redis 需要手动开启AOF持久化方式,默认是每秒将写操作日志追加到AOF文件中。
  2. AOF 的数据完整性比RDB高,但记录内容多了,会影响数据恢复的效率。
  3. Redis 针对 AOF文件大的问题,提供重写的压缩机制。
  4. 若只打算用Redis 做缓存,可以关闭持久化。
  5. 若打算使用Redis 的持久化。建议RDB和AOF都开启。其实RDB更适合做数据的备份,留一后手。AOF出问题了,还有RDB。

相关推荐

DiamondTao / 0评论 2020-08-30