redis数据的两种持久化方式rdb和aof对比(二)
aof和rdb的区别?
1.aof是日志形式存储,rdb是数据库形式存储。
2.aof更加安全,可以将数据更加及时地同步到文件中,但是aof需要较多的磁盘IO开支,aof文件尺寸较大,文件内容恢复速度相对较慢。
3.snapshot(快照),rdb安全性较差,它是正常时期数据备份以及master-slave数据同步的最佳手段,文件尺寸较小,恢复速度较快。
总结:
可以通过配置文件来指定它们中的一种,或者同时使用它们(不建议同时使用),或者全部禁用。
1.在架构良好的环境中,master通常使用aof,slave使用snapshot(快照),
主要原因是master需要首先确保数据完整性,它作为数据备份的第一选择;slave提供只读服务(目前slave只能提供读取服务),它的主要目的就是快速相应客户端read请求;
2.但是如果你的redis运行在网络稳定性差/物理环境糟糕的情况下,建议你master和slave均采取aof,这个master和slave角色切换时,
可以减少人工数据备份/人工引导数据恢复的时间成功;
3.如果你的环境一切非常良好,且服务需要接收密集型write操作,
那么建议master采取snapshot(快照),而slave采用aof。