Redis 持久化方式
通常数据库存在三种用于持久操作以防止数据损坏的常见策略:
- 是数据库不关心故障,而是在数据文件损坏后从数据备份或快照中恢复。RDB 就是这种情况
- 该数据库使用操作日志记录每个操作的操作行为,以在失败后通过日志恢复一致性。由于操作日志是按顺序追加写入的,因此不会出现无法恢复操作日志的情况。类似于 Mysql 的重做和撤消日志。
- 数据库不修改旧数据,而仅通过追加进行写入,因此数据本身就是日志,因此永远不会出现数据无法恢复的情况。CouchDB 是一个很好的例子。AOF 类似这种情况
严格上讲 Redis 为持久化提供了三种方式:
- RDB:在指定的时间间隔能对数据进行快照存储,类似于 MySQL 的 dump 备份文件。
- AOF:记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据(MySQL的binlog)。
- RDB 与 AOF 混合使用,这是 Redis4.0 开始的新特性。在混合使用中 AOF 读取 RDB 数据重建原始数据集,集二者优势为一体。
剑鸣秋朔