| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> redis-持久化主从同步数据 -> 正文阅读 |
|
[大数据]redis-持久化主从同步数据 |
redis持久化方式:
RDB更适合做冷备份,AOF更适合做热备份 两种机制全部开启的时候,redis在重启的时候会默认使用AOF去重新构建数据,因为AOF的数据是比RDB更完整的。 RDB:优点:同步数据使用fork子进程,对外提供读取能力,对性能影响小,恢复数据快 缺点:备份间隔时间大,发生丢失数据影响大,备份快照文件太大会造成暂停,对本身性能影响 AOF:优点:可以更好的保护数据不丢失,日志文件以append-only模式写入(以追加的方式记录所有写操作的命令到磁盘文件里面),写入效率高 缺点:日志文件通常比RDB数据快照文件更大,支持的写QPS会比RDB支持的写QPS低 主从数据同步启动一台slave 的时候,他会发送一个psync命令给master ,如果是这个slave第一次连接到master,他会触发一个全量复制。master就会启动一个线程,生成RDB快照,还会把新的写请求都缓存在内存中,RDB文件生成后,master会将这个RDB发送给slave。 时间差会导致数据出现缺失使用命令传播+增量复制 命令传播:?Master节点每处理完一个命令都会把命令广播给所有的子节点,而每个子节点接收到Master的广播过来的命令后,会在处理完之后继续广播给自己的子节点。Master节点处理完客户端的命令之后会立马向客户端返回结果,而不会一直等待所有的子节点都确认完成操作后再返回以保证Redis高效的性能 增量复制:每次处理完命令之后,先写入缓冲区repl_backlog, 然后再发送给子节点。这就是增量复制(也叫部分复制)。但是缓冲区能保存的命令有限,只能至多保存的命令长度为repl_backlog_length,如果某个子节点落后当前最新命令的长度大于了repl_backlog_length,那么就会触发全量复制。 ????????????????????????????????????????????????应用别人的图片 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 6:41:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |