一 RDB和AOF两种持久化机制介绍
RDB持久化机制,对redis中的数据进行执行周期的持久化
AOF机制对每个写入命令为日志,一append-only的模式进行写入一个日志文件。在redis重启的时候可以通过回放AOF日志中的写入的指令来进行重构
二 RDB优点
1.RDB会生成多个数据文件,每个书据文件都代表了一个时刻的书据,这种数据非常适合做冷备份.
2.DRB对redis的对外界提供的读写服务影响非常的小,可以让redis保持高性能.
3.相对于AODF持久化机制来说直接基于RDB数据文件来重启和恢复redis进行更加快速
RDB缺点
1.如果想要redis故障尽可能少丢失数据,一般RDB数据快照都是五分钟
2.RDB每次在fork子线程来执行RDB快照的文件生成的时候,如果数据特别大,可能会导致客户端提供的服务暂停数秒.
三 AOF优点
1.AOF可以更好的保护数据的不丢失,一般AOF每隔一秒,通过一个后台线程执行一次fsync操作,最多丢失一秒的数据.
2.AOF日志文件一opend-only模式写入,所以没有任何磁盘开销,写入性能比较高,文件不容易破损,即使文件破损也很容易回复
3.AOF 文件过大的时候,出现后台重写操作,也不会影响客户端的书写
4.AOF日志文件命令通过非常可读的方式进行记录,这个特性非常适合做容易删除的恢复.
AOF缺点
1.对于同一份数据来说AO日志通常比RDB数据快照文件大.
2.AOF开启之后,支持写QPS比RDB值写的低,因为AOF一般会配置成每秒一个fsync一次日志文件