十五 Redis——Redis 持久化之 RDB 机制 和 AOF 机制( 三 )


[root@cheng bin]# redis-check-aof --fix appendonly.aof 0x4d: Expected \r\n, got: 6764AOF analyzed: size=97, ok_up_to=52, diff=45This will shrink the AOF from 97 bytes, with 45 bytes, to 52 bytesContinue? [y/N]: ySuccessfully truncated AOF
这时候再查看一下aof文件:已经修复 。发现出现错误的key已经被删除了 。
修复完成后即可重新连接redis服务器 。
3、总结
当 Redis 启动时,如果 RDB 持久化和 AOF 持久化都被打开了,那么程序会优先使用 AOF 文件来恢复数据集,因为 AOF 文件所保存的数据通常是最完整的 。
RDB和AOF到底该如何选择
选择的话,两者加一起才更好 。因为两个持久化机制你明白了,剩下的就是看自己的需求了,需求不同选择的也不一定,但是通常都是结合使用 。有一张图可供总结:
参考文章:
备份 Redis 数据
先将下面这句话铭记于心: 一定要备份你的数据库!
磁盘故障,节点失效,诸如此类的问题都可能让你的数据消失不见,不进行备份是非常危险的 。
Redis 对于数据备份是非常友好的,因为你可以在服务器运行的时候对 RDB 文件进行复制: RDB 文件一旦被创建,就不会进行任何修改 。当服务器要创建一个新的 RDB 文件时,它先将文件的内容保存在一个临时文件里面,当临时文件写入完毕时,程序才使用 (2) 原子地用临时文件替换原来的 RDB 文件 。
这也就是说,无论何时,复制 RDB 文件都是绝对安全的 。
以下是我们的建议:
参考文章:#save