redis持久化-aof
redis持久化之AOF
以日志的形式来记录每个写操作(增量保存),将redis执行过的所有指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取改文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作
AOF持久化流程
1.客户端的请求写命令会被append追加到AOF缓冲区内
2.AOF缓冲区根据AOF持久化策略【always,everysec、no】将操作sync同步到磁盘的aof磁盘中
3.AOF文件大小超过重写策略或手动重写时,会对AOF文件rewrite重写,压缩AOF文件容量
4.redis服务重启后,会重新load加载AOF文件中的写操作达到数据恢复的目的
** 开启AOF功能**
异常恢复
修改人的applendonly no 改为yes
如遇到AOF文件损坏,通过redis-check-aof-fixappendpnly.aof进行恢复
备份被写坏的AOF文件
恢复:重启redis,然后重新加载
AOF同步的频率设置
appendfsync always :每次redis的写入都会被立即记录到日志;性能较差但是数据完整性比较好
appendfsync everysec: 每秒同步,如果宕机,本秒的数据可能丢失
appendfsync no: redis不主动进行同步,把同步的时机交给操作系统
** Rewrite压缩**
本文来自博客园,作者:wiselee/,转载请注明原文链接:https://www.cnblogs.com/wiseleer/p/16916905.html