Redis有三种方式持久化分别是RDB,AOF和混合模式。

RDB模式

RDB模式

Redis RDB的全称是 redis database ,定时将内存中的数据写入磁盘。实际过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩。

AOF模式

AOF模式的全称是Append Only File ,以日志的形式记录服务器的每一个修改和删除操作,查询不会记录,类似于mysql的binlog。

Redis AOF

混合模式

Redis 4版本之后增加了混合持久化模式,混合模式则是结合 RDB模式和AOF模式两种方式持久化。

在Redis重启时,可以先加载RDB内容,然后再恢复增量AOF日志就可以完全替代之前的AOF全量文件恢复,提升重启效率。

混合持久化配置,需要开启aof

appendonly yes
aof-use-rdb-preamble yes           # yes:开启,no:关闭

RDB和AOF对比

快照AOF
全量备份,一次保存整个数据库增量备份,一次保存一个修改数据库的命令
保存时间间隔比较长保存时间间隔默认一秒
数据还原快数据还原慢
适合数据备份,默认开启适合保存数据,默认关闭
save阻塞,bgsave不会阻塞不会阻塞
启动优先级低启动优先级高
体积小体积较大
恢复速度快恢复速度慢
数据安全性低,会丢失数据数据安全性:根据策略决定
轻重:重轻重:轻