Redis集群(主从复制)
2024-10-21 17:42:09
主从复制
主从复制原理
Redis集群中有很多Redis服务器,这些Reids服务器分为主服务器和从服务器。
- 从服务器会向主服务器发送命令:SYNC命令。
- 主服务器接收到SYNC命令后,开始执行GBSAVE命令生成RDB文件(快照文件)并使用缓冲区来记录此后的写命令
- 主服务器GBSAVE命令执行完毕后,会将次快照发送给所有的从服务器。而且在发送期间会继续记录写命令。
- 从服务器接收到主服务器发送过来快照文件,会加载这个快照文件,并执行。
- 主服务在发送完快照文件后会向从服务器发送缓冲区命令。
- 从服务器完成对快照文件的载入,也会开始接收主服务器的命令,并执行。
- 从服务器和主服务器执行相同的命令
通过这种方式完成主从复制。
优点:
保证主服务器和从服务器数据同步,实现读写分离,主服务器用来执行写命令,而从服务器用来提供数据(读)。
缺点:
Redis不具备自动容错和恢复功能,主从机器的宕机都会导致前段部分读写请求失败,导致数据部分丢失。
- 哨兵模式
当主服务器宕机了,哨兵模式可以让一个从服务器升级为主服务器,以便保证继续提供服务。
优点:
提高Redis的高可用,让系统更健壮,可用性更高。
缺点:
Redis很难支持在线扩容。如果集群容量达到上线,这时扩容就会变得很复杂。
Redis-Cluster集群
主从复制有一个很大的缺陷:主服务器和从服务器存储的数据一样,这是一种浪费。
redis3.0后提供Redis-Cluster集群,这是一种分布式存储的集群方式:每一个Reids服务器上存储不同的数据,提高高可用。
Redis在去保存数据时,会通过一个算法计算key的结果,通过这个结果和插槽(16834)(Hash槽:0-16383)做运算,将运算结果作为这个数据
的存储位置,这样就可以将数据保存到不同的服务器上,保证分布式存储。
最新文章
- [原创]关于Hibernate中的级联操作以及懒加载
- hosts manager——hosts配置管理工具
- CentOS7使用阿里云镜像安装Mongodb
- iOS - 装饰对象
- 用一个案列详细讲解UITextFiled
- C#代理那点事儿
- 深入浅出之Smarty模板引擎工作机制(二)
- 分享一个java线程专栏
- Poco之ftp目录切换与创建
- 从robots.txt開始网页爬虫之旅
- 几种交换两个数函数(swap函数)的写法和解析
- idea 15破解方法记录
- akka tips
- Injection of autowired dependencies failed
- SYBASE bcp用法及例子
- 6个常见的php安全攻击
- Eclipse Ctrl+Space 无法工作的问题
- docker 容器和镜像理解
- C#Lambda表达式详解
- 树莓派发射FM波——搭建私人小电台
热门文章
- 基于 geojson数据类型面转线Transforms Polygons and MultiPolygons to LineStrings.
- 10,java双向链表基础代码复现
- gitee 操作
- unittest框架-测试报告模板【BeautifulReport】安装、配置使用、生成带截图的测试报告
- sxt_(008_011)_servlet
- 2023-03-01 react-native 实现 复制功能 @react-native-community/clipboard 报错:TypeError: null is not an object (evaluating 'NativeClipboard_1.default.setString')。
- 25_Webapck原理
- vue教程
- Python后端基础知识总结
- Elasticsearch Java client使用