找回密码
 立即注册
首页 业界区 安全 九. Redis 持久化-RDB(详细讲解说明,一个配置一个说明 ...

九. Redis 持久化-RDB(详细讲解说明,一个配置一个说明分析,步步讲解到位)

泠邸 2025-6-11 10:27:40
九. Redis 持久化-RDB(详细讲解说明,一个配置一个说明分析,步步讲解到位)

@
目录

  • 九. Redis 持久化-RDB(详细讲解说明,一个配置一个说明分析,步步讲解到位)
  • 1. RDB 概述
  • 2. RDB 持久化执行流程
  • 3. RDB 的详细配置
  • 4. RDB 备份&恢复
  • 5. RDB 持久化小结(优势 和 劣势)
  • 6. 最后:

Redis 持久化-RDB:官网文档地址: https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/
1.png

Redis 关于持久化方案:有两种:

  • RDB(Redis DataBase)
  • AOF(Append Of File)
这里我们主要介绍  RDB 持久化方案,AOF 持久化方案,在下一篇文章当中。
1. RDB 概述

RDB 是什么 ?:
在指定的时间间隔内将内存当中的数据集快照写入到磁盘当中,也就是 Snapshot 快照,恢复时将快照文件当中的内容读取到内存 当中。
2. RDB 持久化执行流程

RDB 及其执行流程:
2.png

对上图的解读:
具体流程如下:

  • Redis 客户端执行 bgsave 命令或者自动触发 bgsave 命令。
  • 主进程判断当前是否已经存在正在执行的子进程 ,如果存在,那么主进程直接返回。
  • 如果不存在,正在执行的子进程 ,那么就 fork 一个新的子进程进行持久化数据,fork 过程是阻塞的,fork 操作完成后主进程即可执行其它操作。
  • 子进程先将数据写入到 临时的 rdb 文件中 ,待快照数据写入完成后,再原子替换旧的 rdb 文件。
  • 同时发送信号给主进程,通知主进程 rdb 持久化完成,主进程更新相关的统计信息。
小结:

  • 整个过程中,主进程是不进行任何 IO 操作的,这就确保了极高的性能。
  • 如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那 RDB 方式要比 AOF 方式更加的高效。
  • RDB的缺点是最后一次持久化的数据可能丢失。
如果你是正常关闭 Redis ,仍然会进行持久化,不会造成数据丢失。
如果是 Redis 异常终止/宕机 ,就可能造成数据丢失。
后面在讲解快照配置的时候,进行说明。
Fork&Copy-On-Write:
<ol>Fork 的作用是复制一个与当前进程一样的进程。新进程的所有数据(变量,环境变量,程序计数器等)数值都和原进程一致,但是是一个全新的进程,并作为原进程的子进程。

在 Linux 程序中,fork() 会产生一个和父进程完全相同的子进程,但子进程在此后都会 exec 系统调用,出于效率考虑,Linux 中引入了 “写时复制技术 即:copy-on-write” ,有兴趣的可以移步至
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册