有两种方式:RDB 和 AOF
RDB(快照):在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。
在持久化文件里储存的是缓存里面的数据,主要借用Linux的主从复制技术,可以说是站在巨人的肩膀上
RDB的优点:1.节省磁盘空间 2、恢复速度快
RDB的缺点: 1、虽然Redis在fork是使用了写时拷贝技术,但是如果数据庞大时还是比较消耗性能。 2、在备份周期在一定间隔时间做一次备份,所以如果Redis意外down掉的话,就会丢失最后一次快照的所有修改。
AOF():以日志的形式来记录每一个写操作,只记录写操作,不记录读操作
注意:AOF默认不开启,需要手动在配置文件中配置
可以在redis.conf 中配置文件名称,默认为appendonly.aof
AOF的优点: 1、 备份机制更稳健,丢失数据概率更低。 2可读的日志文本,通过操作AOF文件,可以处理误操作 2、恢复备份速度较慢 3、每次读写都同步的话,有一定的性能压力 4、存在个别Bug,造成不能恢复。
AOF和RDB同时开启 Redis会听谁的??
AOF
如有不足,还请大神批评指正!