数据持久化
数据持久化可以在内存丢失或其他灾难性故障时实现恢复。在这里,您将学习数据持久化的选项、它们何时可用,以及如何将特定设置应用于单个数据库。
Redis Cloud 可以将数据持久化,以便在内存丢失或其他灾难性故障时进行恢复。当您启用数据持久化时,内存中的数据会被复制到附加到底层云实例的持久存储中。
持久化选项
数据可以通过以下两种方式之一进行持久化:
-
一个仅追加文件(AOF)维护了一个写操作的记录(有时称为重做日志或日志)。这允许通过使用该记录来重建数据库,直到故障点。
AOF文件记录了对数据库的写操作;它可以每秒更新一次或在每次写入时更新(仅限Redis Cloud Pro计划)。
-
快照是内存数据库的副本,定期(一小时、六小时或十二小时)拍摄。您可以将数据恢复到快照的时间点。
AOF文件提供了比快照更高的保护(持久性),但代价是资源和恢复时间。 尽管快照恢复更快,但数据丢失的风险更高,这取决于故障发生时间和最近快照之间的时间间隔。
警告:
如果您关闭数据持久化,当数据库宕机时数据将会丢失。配置数据持久化
在Redis Cloud中,数据持久性是一个数据库配置设置,可以通过编辑您的数据库设置来更改。
该设置的可用性取决于您的计划:
-
免费的 Redis Cloud Essentials 计划不支持数据持久化;该设置完全被禁用。
-
付费的 Redis Cloud Essentials 计划支持每秒 AOF 和所有快照选项。
-
Redis Cloud Pro 为每个数据库启用了数据持久化设置。
启用后,您可以将数据持久性设置更改为以下值之一:
选项 | 描述 |
---|---|
None | 数据完全不持久化到磁盘。 |
仅追加文件 (AoF) 每次写入 | (仅限 Redis Cloud Pro) 每次写入都会被记录(使用 fsync 同步到磁盘) |
每秒仅追加文件 (AoF) | 每秒更新记录(使用fsync 同步到磁盘) |
每小时快照 | 每小时创建一次数据库快照 |
每6小时快照一次 | 每6小时创建一次数据库快照 |
每12小时快照一次 | 每12小时创建一次数据库快照 |
当您保存对数据持久性设置的更改时,更新将在后台应用。这意味着在应用新设置时会有短暂的延迟。
当为数据库启用复制时,持久化操作将针对副本(复制品)执行,以减少对主数据库(master)的性能影响。