同样是持久化,竟然有这么大的差别! (3)

接下来要介绍的是混合持久化。其实就是 RDB 与 AOF 的混合模式,这是 Redis4 之后新增的。

1、持久化方式

混合持久化是通过 aof-use-rdb-preamble 参数来开启的。它的操作方式是这样的,在写入的时候先把数据以 RDB 的形式写入文件的开头,再将后续的写命令以 AOF 的格式追加到文件中。这样既能保证数据恢复时的速度,同时又能减少数据丢失的风险。

2、文件恢复

那么混合持久化中是如何来进行数据恢复的呢?在 Redis 重启时,先加载 RDB 的内容,然后再重放增量 AOF 格式命令。这样就避免了 AOF 持久化时的全量加载,从而使加载速率得到大幅提升。

总结

RDB持久化

将某一时刻的数据以二进制形式写入到磁盘里,服务重启时检测到对应文件自动加载进行数据恢复。

有手动触发和自动触发两种机制。

AOF持久化

以文件追加的方式写入客户端执行的写命令。

数据恢复时,通过创建伪客户端的方式执行命令,直到恢复完成。

混合持久化

在写入的时候先把数据以 RDB 的形式写入文件的开头,再将后续的写命令以 AOF 的格式追加到文件中。

 

关于作者 作者:大家好,我是莱乌,BAT搬砖工一枚。从小公司进入大厂,一路走来收获良多,想将这些经验分享给有需要的人,因此创建了公众号「IT界农民工」。定时更新,希望能帮助到你

同样是持久化,竟然有这么大的差别!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zggydz.html