redis学习十六:redis持久化之RDB+AOF混合持久化和缓存模式

发布时间 2023-07-10 11:09:07作者: 浮笙芸芸

tip:同时开启rdb和aof持久化时,重启只会加载aof文件,不会加载rdb文件,aof优先级高于rdb

优缺点对比:

RDB持久化方式能够在指定的时间间隔对你的数据进行快照存储

AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以redis协议追加保存每次写的操作到文件末尾

开启两种持久化:

(1)在这种情况下,当redis重启的时候会优先载入aof文件来恢复原始的数据,

因为在通常情况下aof文件保存的数据集要比rdb文件保存的数据集要完整(一秒一次)

(2)rdb数据不是实时的,同时使用两者时服务器重启也只会找aof文件,那要不要只使用aof呢?

作者建议不要,因为rdb更适合用于备份数据库(aof在不断变化不好备份),留着rdb作为一个万一的手段

方式:

(1)开启混合模式

aof-use-rdb-preamble no 是否开启混合方式

(2)aof+rdb混合方式

先试用rdb进行快照存储,然后使用aof持久化记录所有的写操作,当重写策略满足或手动触发重写的时候,将最新的数据存储为新的rdb记录。

这样重启服务时候会从rdb和aof两部分恢复数据,既保证了数据完整性,又提高恢复数据的性能。简单来说,混合持久化方式产生的文件一部分

是rdb格式,一部分是aof格式。

 缓存模式:

同时关闭rdb+aof

(1)save "":禁用rdb,在禁用模式下,仍然可以使用命令save,bgsave生成rdb文件

(2)appendonly no:禁用aof,也可以使用命令生成aof文件