Redis持久化之AOF

2021-02-09  本文已影响0人  猪儿打滚

AOF是什么?

AOF是redis持久化的策略之一。
它以日志的形式来记录每个redis的写操作,将redis执行过的所有写指令记录下来(读操作不记录),并且它只允许往文件追加内容,而不可以改写文件。
redis在启动时,会读取该文件重新构建数据。也就是,redis重启时,会根据AOF日志文件的内容将写指令从头到尾执行一次,来完成数据的恢复工作
AOF保存的是appendonly.aof文件,redis.conf配置中,默认是no,不开启

配置

查看Redis配置中的第8点:APPEND ONLY MODE/追加

AOF启动/修复/恢复

注意.如果aof文件已损坏,那么在redis-cli启动时就会报错,比如Could not connect tot Redis at 127.0.0.1:6379: Connection refused

rewrite/重写

1、是什么?

由于AOF采用文件内容追加的方式,随着时间的增长,文件肯定会越来越大。为了避免出现这种情况,新增了rewrite/重写机制。
也就是当AOF文件的大小超过所设定的阙值时,redis2.4以后,就会自动对AOF文件的内容压缩,只保留可以恢复数据的最小指令集。但是也可以使用命令bgrewriteaof来手动启动。

2、触发机制

Redis会记录上次重写时的AOF大小,默认配置是当AOF文件大小是上次rewrite后大小的一倍且文件大于64M时触发(实际应用肯定会调大这个值)

3、重写原理

优势

有三种同步策略可选

劣势

appendonly.aofdump.rdb共存

如果appendonly.aofdump.rdb共存,那么在恢复数据时,会先读取appendonly.aof

小总结

aof小总结
上一篇 下一篇

猜你喜欢

热点阅读