Redis - 持久化

2021/5/16 19:27:12

本文主要是介绍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 文件的信息。

优点:丢失数据少



这篇关于Redis - 持久化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程