九. Redis 持久化-RDB(详细讲解阐明,一个设置一个阐明分析,步步讲解到位)
九. 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/
https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250204222728247-1555900805.png
Redis 关于持久化方案:有两种:
[*]RDB(Redis DataBase)
[*]AOF(Append Of File)
这里我们主要先容RDB 持久化方案,AOF 持久化方案,在下一篇文章当中。
1. RDB 概述
RDB 是什么 ?:
在指定的时间间隔内将内存当中的数据集快照写入到磁盘当中,也就是 Snapshot 快照,恢复时将快照文件当中的内容读取到内存 当中。
2. RDB 持久化实行流程
RDB 及其实行流程:
https://img2024.cnblogs.com/blog/3084824/202502/3084824-20250204222728068-1097413961.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” ,有兴趣的可以移步至
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]