Skip to content
章节导航

Redis 持久化方式

通常数据库存在三种用于持久操作以防止数据损坏的常见策略:

  • 是数据库不关心故障,而是在数据文件损坏后从数据备份或快照中恢复。RDB 就是这种情况
  • 该数据库使用操作日志记录每个操作的操作行为,以在失败后通过日志恢复一致性。由于操作日志是按顺序追加写入的,因此不会出现无法恢复操作日志的情况。类似于 Mysql 的重做和撤消日志。
  • 数据库不修改旧数据,而仅通过追加进行写入,因此数据本身就是日志,因此永远不会出现数据无法恢复的情况。CouchDB 是一个很好的例子。AOF 类似这种情况

严格上讲 Redis 为持久化提供了三种方式:

  • RDB:在指定的时间间隔能对数据进行快照存储,类似于 MySQL 的 dump 备份文件。
  • AOF:记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据(MySQL的binlog)。
  • RDB 与 AOF 混合使用,这是 Redis4.0 开始的新特性。在混合使用中 AOF 读取 RDB 数据重建原始数据集,集二者优势为一体。