7.27笔记(Redis 复制原理及特性)
时间:2021-07-27
本文章向大家介绍7.27笔记(Redis 复制原理及特性),主要包括7.27笔记(Redis 复制原理及特性)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Redis的复制特性
复制技术额可以使数据库的读写操作分散运行在不同CPU上独立服务器上。
数据库复制是数据库之间的单向的信息传递的行为,由复制方和被复制方组成。复制方和被复制方建立网络连接。复制方一般主动向被复制方发送数据,复制方接收并存储数据。目的是为了复制方和被复制方数据保持一致
Redis复制方式:主从模式,从从模式
Redis通过配置多个Redis实例独立运行,定向复制,形成Redis集群;master负责写,slave负责读(达到读写分离的目的)
复制的优点
通过配置多个Redis实例,把数据备份不同实例上。主库专注于写;从库专注于读
-
高可用性
在Redis的集群中,如果master宕机,slave就可以代替master的角色。这样就会使整个Redis集群有很强的可用性。也使Redis足够的安全
-
高性能
在Redis中读写分离,一方面把读的请求分散到其他的实例上,可以大大减少master服务器的压力;另一方面slave专注于读的请求,从而提高整体的响应的读取速度
-
水平扩展性
可以根据实际案例,通过增加slave的数量来水平增强整体集群的查询能力
复制的缺点
虽然提供了高性能的解决方案,但是也引入了分布式计算的性能损耗
- 数据一致性的问题;要保证master写入的数据要及时同步到slave上
- 读写分离的操作加大了编程难度
复制的过程
- slave向master发送sync命令
- master生成RDB持久化文件
- master把RDB传给slave
- master发送完RDB后,向slave发送缓存的命令
- master把增量数据发给slave
原文地址:https://www.cnblogs.com/MyBlog0626/p/15066338.html
- Caused by: java.lang.ClassNotFoundException: backtype.storm.topology.IRichSpout
- 作为完美主义者(强迫症)如何将linux的eth1网卡修改为eth0网卡
- 【入门篇】一个小白在Jetson TX2上安装caffe的踩坑之旅
- 【入门篇】Jetson TX2深度学习Inference初体验
- zeromq的安装,部署(号称最快的消息队列,消息中间件)
- OpenDaylight新建HelloWorld工程并集成版本
- 摸索出来的chrom调试前后台数据(Java&&Ajax)交互的方法分享一下咯!!!
- 机器学习:单词拼写纠正器python实现
- java.lang.Exception: 资源处理失败,失败原因:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown
- Server Tomcat v7.0 Server at localhost failed to start.
- Ovs+Dpdk简单实践
- Spark入门,概述,部署,以及学习(Spark是一种快速、通用、可扩展的大数据分析引擎)
- 创建基于MailKit和MimeKit的.NET基础邮件服务
- 把一个矩阵行优先展成一个向量,numpy.ravel() vs numpy.flatten()区别
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python源文件打包成可执行的exe应用,给你的代码变个身!
- Python 技术篇-ffmpeg.exe的安装及配置
- Python 库配置问题-"Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work",原因及解决办法
- 小白都能看懂的简单爬虫入门案例剖析(爬虫入门看它就够了!)
- Python 技术篇-音频mp3格式转wav格式,高保真
- Python3 模块
- Python 微信机器人-向好友发送名片、转发名片
- iOS多线程:GCD使用介绍
- 适用于各语言的二分查找算法,你get到了嘛?
- Theme preview
- “抽象类”到底抽不抽象?实例对比一看便知!
- C#索引器的实现、索引器和属性的异同对比,这些技能你get到了嘛?
- 我竟然用它搞懂了王者荣耀的技能释放机制!【C#委托】
- 使用docker-compose 搭建 lnmp
- Java接口也有坑?不容忽视!