rdb和aof

43 阅读2分钟

用于持久化数据的机制

RDB持久化: RDB 是一种快照持久化方法,它定期将 Redis 内存数据库中的数据集快照保存到磁盘上。
这个快照是一个二进制文件,包含了某个时间点上数据库的所有数据。RDB 持久化对于数据恢复和备份非常有用,
因为它是紧凑的二进制格式,占用较少的磁盘空间,并且加载速度相对较快。
但是,RDB 持久化是一个全量备份的方法,只能保存某个时间点的数据,
如果在快照之后发生故障,可能会丢失快照时间点之后的数据。

适用场景:
    数据备份和恢复。
    在较小的数据集上,可以在相对较短的时间内创建数据库的一致备份。
    对磁盘空间要求较低,不太关心丢失一些数据。

AOF持久化: AOF 持久化是一种基于日志的持久化方法,它记录了每个写操作(如添加、修改、删除等)作为一个追加日志条目,这些条目以追加的方式写入一个日志文件中。通过重新执行这些写操作,可以在需要时完全恢复数据库的状态。AOF 持久化通常比 RDB 持久化更耗费磁盘空间,但在故障发生时,可以更精确地恢复数据。
适用场景:
    数据持久性和可靠性较高,对数据丢失要求较低。
    数据库在运行时比较重要,需要保证高可用性和数据的完整性。
    对数据恢复的时间要求较短,可以通过重新执行写操作来快速恢复。
通常情况下,可以同时启用 RDB 和 AOF 持久化以兼顾数据备份和恢复。