Redis 中常用的两种持久化策略:
- RDB(Redis DataBase):
a. RDB 是将 Redis 在内存中的数据定期保存到磁盘上的一种持久化方式。通过快照的方式,将数据保存为一个压缩的二进制文件(.rdb 文件)。
b. RDB 的优点是备份数据快速,适合用于数据恢复和全量备份;同时由于是紧凑的二进制文件,可以减少磁盘空间的占用。
c. RDB 的缺点是可能会出现数据丢失,因为数据是定期保存的;另外,在数据量较大时,生成快照可能会影响 Redis 的性能。 - AOF(Append Only File):
a. AOF 是通过将 Redis 所有写操作追加到文件末尾的方式来记录数据变动的一种持久化方式。当 Redis 重启时,可以通过重新执行 AOF 文件中的写操作来还原数据。
b. AOF 的优点是数据更加安全,可以保证每次写操作都被记录下来;同时,AOF 文件可以提供更好的数据持久性保证。
c. AOF 的缺点是相对于 RDB,AOF 文件通常会比较大,可能会增加磁盘的占用;另外,AOF 文件的恢复速度可能会比 RDB 恢复慢一些。
除了单独使用 RDB 或 AOF 外,Redis 还支持同时使用 RDB 和 AOF 两种持久化方式,以提供更好的数据持久性和灾难恢复能力。此外,Redis 也支持实时数据同步(Replication)来提高数据的可用性和容错能力。