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

打印 上一主题 下一主题

主题 817|帖子 817|积分 2451

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

@
目录

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

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

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

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

RDB 及其实行流程:

对上图的解读:
详细流程如下:

  • 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” ,有兴趣的可以移步至
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦见你的名字

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表