redis持久化机制:RDB,AOF和混合式

Redis做为一种高性能缓存数据库,是如果实现的?

总结

持久化机制:RDB,AOF,混合式。
RDB是快照文件,反映的是Redis在某一时刻的数据状态,缺点是当数据继续变化时,RDB无法持久化新的数据变化。

AOF记录的是所有的操作日志,当从AOF持久化文件中恢复数据到REDIS时,会依次执行所有日志记录,但是缺点是多条hset或者set记录仅有最后一条能反映最终状态,(set多个人名,get一下只能获取到最后一个人的)因此中间状态有浪费内存之嫌,当然可以通过设置rewrite的阀值,压缩多余的中间状态记录。

最后是混合式,从redis4.0引入,是比较推荐的持久化方法,先用RDB记录当前快照,再用AOF记录追加的数据变化。既满足了性能,数据也不会丢失。

RDB

RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘。也是默认的持久化方式,这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。

AOF

全量备份总是耗时的,有时候我们提供一种更加高效的方式AOF,工作机制很简单,redis会将每一个收到的写命令都通过write函数追加到文件中。通俗的理解就是日志记录。

参考:添加链接描述

你可能感兴趣的:(redis)