参考答案
RDB做镜像全量持久化,AOF做增量持久化。
因为RDB会耗费较长时间,不够实时,在停机的时候会导致大量丢失数据,所以需要AOF来配合使用。
在Redis实例重启时,会使用RDB持久化文件重新构建内存,再使用AOF重放近期的操作指令,来实现完整恢复重启之前的状态。
这里很好理解,把RDB理解为一整个表全量的数据,AOF理解为每次操作的日志就好了,服务器重启的时候先把表的数据全部搞进去,但是它可能不完整,需要再回放一下日志,数据就完整了。
Redis的机制:
- AOF持久化开启、且存在AOF文件时,优先加载AOF文件;
- AOF关闭或者AOF文件不存在时,加载RDB文件;
- 加载AOF/RDB文件城后,Redis启动成功;
- AOF/RDB文件存在错误时,Redis启动失败并打印错误信息。
以上,是Redis面试题【Redis是怎么持久化的,服务主从数据怎么交互的】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—