Site icon 时鹏亮的Blog

Redis的RDB和AOF的区别

请知悉:本文最近一次更新为 3年 前,文中内容可能已经过时。

先说个基础概念:CAP,即一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance)。

Redis的这两种持久化模式呢,区别其实就是你是要高可用(AP),还是高一致性(CP)的问题。


RDB持久化:原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化。

AOF持久化:原理是将Reids的操作日志以追加的方式写入文件。

区别在哪儿呢?

RDB模式的原理说明中,你应该留意到关键点在定时二字上,如此自然就能想到,这个定时还没执行的时候,系统挂了,那这部分没有dump的数据就丢了,由此,高可用是保证了,但数据一致性的问题会在极端情况下出现问题。

AOF模式呢,熟悉MySQL的话,你就应该能推断,这操作日志类似binlog,这意味着,增删改的操作都会记录在案,这模式以降低性能的方式,确保数据不丢,保证了高一致性。


呐,核心区别总结完了,我们说说两个模式的优势吧:

根据场景不同,实际生产环境选择哪种模式,或者多模式集群混用,都是可以的。


参考资料

redis的持久化方式RDB和AOF的区别


如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。

尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《Redis的RDB和AOF的区别》相关的博文:

Exit mobile version