Redis的两种数据持久化方式比较

RDB(Redis Database)

本质:基于时间点的快照

优点:

1、RDB格式文件体积小。
2、可以通过脚本执行bgsave(非阻塞)或者save(阻塞)命令自定义时间点进行备份。
3、可以保留多个备份,出现故障时候可以选择恢复到不同时间点的备份。
4、数据量大时候恢复速度比AOF方式快。

缺点:

1、不能实时保存数据,会存在丢失最后一次RDB备份时间点到宕机故障发生时间点期间数据的风险。
2、数据量大时,从父进程fork子进程实施备份需要一点时间,取决于数据总大小和磁盘IO性能。

AOF(append only file)

本质:按照操作顺序依次将操作添加记录到指定的日志文件中

优点:

1、AOF是按照操作次序添加记录到AOF日志文件中,所以数据安全性较高。
2、AOF可以根据业务需要及设置不同的fsync策略(默认一秒写一次 appendfsync everysec),故障时最多丢失一秒内的数据,或者开启实时追加操作记录到硬盘文件(appendfsync always),理论可以做到不丢失数据,但会影响硬盘IO性能。

缺点:

1、AOF的文件体积要比RDB大很多,会随着数据的持续变化不断增涨。
2、AOF日志文件会将重复的操作也全部记录。
3、数据恢复速度相比RDB方式要慢。

猜你喜欢

转载自www.cnblogs.com/eddie1127/p/11850545.html
今日推荐