AOF:
以日志的形式来记录每个写操作,将Redis执行过的所有指令记录下来(读操作不记录),只许追加问价但不可以改写文件,redis启动之初就会读取该文件重新构建数据,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作
AOF保存的是 appendonly.aof文件
默认是设置没开启状态,如果开启就需要把 appendonly no 改为yes 就可以手动开启AOF!
appendfilename :指的是AOF的文件名字
示例:
第一步:
第二步:
第三步:
127.0.0.1:6379> set k1 va
OK
127.0.0.1:6379> set k2 va
OK
127.0.0.1:6379> set k3 v1
OK
第四步 打开查看:
如若AOF文件错误需要修复怎么办?
示例:
最后aaaa那是有误的 该怎么恢复?
Redis里面自己带有Aof 以及rdb的修复功能
[root@localhost bin]# redis-check-aof --fix appendonly.aof
修复功能 修复 谁:appendonly.aof
0x 6a: Expected \r\n, got: 6161
AOF analyzed: size=124, ok_up_to=81, ok_up_to_line=26, diff=43
This will shrink the AOF from 124 bytes, with 43 bytes, to 81 bytes
Continue? [y/N]: y
Successfully truncated AOF 成功
[root@localhost bin]#
修复完成之后:
优点和缺点:
优点:
1.每一次修改都同步,文件的完整会更好
2.每秒同步一次,可能会丢失一秒的数据
3.从不同步,效率最高
缺点:
1.相对于数据文件来说,aof远远大于rdb,修复的速度比rdb慢
2.aof运行效率也要比rdb慢,所以默认的redis默认的配置就是rdb持久化!