Redis设计与实现-混合持久化

微笑、不失礼 提交于 2020-02-28 02:03:41

前面介绍了RDB和AOF两种持久化技术,它们都有各自的优缺点,比如RDB丢失数据比较多,而AOF重写耗时,且恢复数据速度相比RDB慢很多,当Redis进化到4.0的时候,提供了混合持久化RDB+AOF。

持久化

该种持久化机制是将两种方式持久化的数据存放到同一个文件当中,图解

Redis进行RDB操作时,用缓冲区记录下RDB期间的所有写命令以及其他会影响数据库和客户端状态的命令

比如

set hset zadd sadd

SCRIPT LOAD 会修改服务器状态

PUBSUB 发布的消息最终会影响客户端状态

当RDB完成之后,再将缓冲区AOF日志写到文件中

载入

先从RDB部分恢复绝大部分数据,再执行AOF部分的日志,最终数据恢复完成

当然该种机制依然可能丢失1秒的数据

Redis设计与实现-RDB持久化

Redis设计与实现-AOF持久化

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!