摘要
Redis的持久化方式有两种:RDB和AOFRDB。RDB是数据的快照,就像拍下美好瞬间。它可以定期备份,保留过去的美好。但是,备份时只能备份到某个时间点,之后的美好瞬间就无法被记录了。
正文
Redis – 持久化
Redis 的持久化方式有两种:RDB、AOF
RDB
RDB 是某个时间点数据的快照,可以定期全量备份。
原理:
- 父进程 fork 子进程
- 子进程将数据写入临时 RDB 文件中
- 子进程完成写入时,用临时 RDB 替换掉旧的 RDB
- 假如1点开始备份数据,1点以后的数据不会被备份,因为子进程看不到父进程的数据
优点:恢复速度快。
缺点:窗口期数据易丢失。
AOF
AOF 记录每次写操作的日志。
如果每次写操作都记录日志,最终的 AOF 文件就会无限大,如何解决这个问题呢?
- 重写。Redis 择时将内存中的数据备份到临时 AOF 文件中,备份时点之后的数据先写到缓存中,临时 AOF 文件完成写入之后,再将缓存中的数据写入临时 AOF 文件,最后用临时 AOF 文件替换掉旧的 AOF 文件。
- 从 4.x 版本开始 AOF 文件支持 RDB+AOF 的混合体,重写是写 RDB,然后在 AOF 文件开头记录 RDB 文件的信息。
优点:丢失数据少
关注不迷路
扫码下方二维码,关注宇凡盒子公众号,免费获取最新技术内幕!
温馨提示:如果您访问和下载本站资源,表示您已同意只将下载文件用于研究、学习而非其他用途。
评论0