Redis 持久化机制
Redis 提供了几种不同类型的数据持久化方案:
RDB 会每间隔一段时间,就持久化当前时间点的数据快照,并保存数据快照至磁盘文件中;
AOF 会记录每个修改数据的命令至磁盘文件中,用于在服务重启后的数据恢复;
完全不使用数据持久化机制;
组合使用 RDB 和 AOF 两种机制;
RDB 优点
RDB 产生的快照文件是非常紧凑的,相比于 AOF 的日志文件会小很多;
RDB 非常适合用于数据的备份和灾备;
RDB 缺点
RDB 可能会丢失最近一次间隔时间内的数据;
在数据量非常大的情况下,RDB 在 fork 子进程时可能会非常耗时,以至于影响 Redis 的主服务进程。
AOF 优点
可以选择「不显示 fsync」、「每秒 fsync」、「每个命令后 fsync」三种不同的 AOF 同步数据策略;
AOF 只是简单的追加日志,所以执行起来会很简单;
当 AOF 的日志文件太大的时候,Redis 会重写并压缩日志文件;
AOF 的日志文件内容更容易让人理解
AOF 缺点
AOF 产生的日志文件会非常大;
在「每个命令后 fsync」策略下,AOF 可能会非常得慢。
参考资料
最后更新于