Redis持久化机制AOF和RDB

作者简介:敖广,CSDN2020博客之星亚军、博客专家、个人成长专家✌

多年工作总结:Java学习路线总结,逆袭Java架构师

技术交流:定期更新Java硬核干货,不定期送书活动、助你实现技术飞跃

关注公众号【程序技术圈】,回复 面试题,获取《108道Java经典面试题总结(附答案)》pdf,复习方便,面试利器!

Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件
重新加载到内存,就能达到恢复数据的目的。

Redis持久化机制AOF和RDB_第1张图片

Redis是如何实现持久化的

单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化的过程结
束了,再用这个临时文件替换上次的快照文件,然后子进程退出,内存释放。

RDB

RDB是Redis默认的持久化方式。按照一定的时间周期策略把内存的数据以快照的形式保存到硬盘的二进制文件。即Snapshot快照存储,对
应产生的数据文件为dump.rdb,通过配置文件中的save参数来定义快照的周期。( 快照可以是其所表示的数据的一个副本,也可以是数据
的一个复制品。)

AOF

AOF:Redis会将每一个收到的写命令都通过Write函数追加到文件最后,类似于MySQL的binlog。当Redis重启是会通过重新执行文件中保
存的写命令来在内存中重建整个数据库的内容。当两种方式同时开启时,数据恢复Redis会优先选择AOF恢复。

作者简介:敖广,CSDN2020博客之星亚军、博客专家、个人成长专家✌

多年工作总结:Java学习路线总结,逆袭Java架构师

技术交流:定期更新Java硬核干货,不定期送书活动、助你实现技术飞跃

关注公众号【程序技术圈】,回复 面试题,获取《108道Java经典面试题总结(附答案)》pdf,复习方便,面试利器!

你可能感兴趣的:(缓存,redis,java)