Redis持久化

65 阅读1分钟

Redis持久化的两种方法和各自优劣势

Redis是一个基于内存的数据库,它的数据是存放在内存中,内存有个问题就是关闭服务或者断电会丢失。 所以需要将Redis中的数据持久化到硬盘,Redis提供了2种不同形式的持久化方式,RDB(Redis DataBase)和 AOP(Append Of File)。

RDB是在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是键快照文件直接读到内存里,适用于大规模数据恢复,和对数据完整性和一致性要求不高时,对比AOP而言还具有节省磁盘空间,恢复速度快的特点。劣势是数据庞大时比较消耗性能,在备份周期在一定间隔时间做一次备份,所以如果Redis意外出错的话,会丢失最后一次快照后所有修改。

AOP是以日志的形式来记录每个写操作,将redis执行过的所有写指令记录下来(读操作除外),只允追加文件但不可改写文件,redis启动之初会读取该文件重新构造数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。优点是备份机制更稳健,丢失数据概率更低,缺点是比RDB速度更慢、占用磁盘空间,因为每次写操作都需要记录,机器性能压力较大。