当前位置: 首页 > news >正文

Redis-集群

28.你了解Redis集群吗?

Redis集群就相当于备份,当一个服务器宕机之后,其它的服务器可以继续使用。单节点的Redis并发能力是有限的,要想进一步提高Redis的并发能力就要搭建集群,实现读写分离,主节点负责写操作,从节点负责读操作。在Redis中有三种集群方式,分别是主从同步哨兵模式分片集群

29.主从同步(复制)的流程是什么?

主从同步主要分为全量同步增量同步

  1. 全量同步发生在初始化阶段,从节点会主动向主节点发送同步请求,主节点收到请求之后会生成一份当前数据的快照,发送给从节点。从节点收到快照文件进行加载,完成全量复制。需要注意的是,主节点在生成快照文件的时候,会将接收到的命令记录到repl-baklog日志中,然后将日志文件发送给从节点执行。
  2. 增量复制发生在master节点变更数据的时候,它会把变化的增量数据同步给从节点,增量复制是通过维护offerset偏移量来实现的。

30.哨兵模式是什么?

主从复制有一个缺点,不能保证redis的高可用,主节点宕机后就丧失了写数据的能力。为了保证高可用性,reids提供了哨兵模式,它可以实现主节点的自动故障恢复。哨兵会监听主从节点的状态,当master节点发生故障的时候,会自动从剩下的slave节点中一个新的master。

  1. Sentinel判断master节点发生故障有两种情况,第一种是主观下线,也就是某一个Sentinel检测到master节点发生了故障。第二就是客观下线,当一般以上的Sentinel检测到master发生了故障。如果出现客观下线,就需要进行故障转移。

  2. Sentinel中有一个Leader负责故障转移,Leader是通过共识算法Raft来实现的,共识算法就是让分布式系统中的节点就某个问题达到共识。

  3. 主节点的选举规则主要通过三个维度,分别是从节点优先级复制进度runid。runid是40字节的随机字符串,选择最小的做为主节点。

31.分片集群过程是什么?

主从复制和哨兵模式这两种方案本质都是通过增加slave数量提高Redis服务的整体可用性,都不支持横向扩展。Redis Cluster对于横向扩展非常友好,只需要增加Redis节点到集群中即可。Redis Cluster就是部署多台Redis主节点,这些节点之间平等没有主从之说,同时对外提供读/写服务。

  1. Redis Cluster实现了Redis的分布式存储,每个节点存储不同的数据,实现数据的分片功能。
  2. 在Redis Cluster里面引入了Slot槽来实现数据分片,Slot的整体取值范围是0-16383。每个节点会分配一个slot区间,当我们存取key的时候,redis会根据key计算得到一个slot值,找到对应的节点进行数据的读写。
  3. Redis Cluster引入了主从复制的模式,一个master节点对应一个或者多个slave节点。当master节点出现故障的时候,会自动从slave节点选举一个新的master继续提供服务。
  4. Redis Cluster虽然解决了在线扩容的问题和故障转移的能力,但是实现起来太复杂,而且slave只是一个冷备节点,不提供分担读写的压力。

32.你知道Redis的哪些使用规范吗?

  1. 使用连接池的时候,避免频繁创建和关闭客户端连接。
  2. 尽量不使用Redis事务,可以使用Lua脚本代替。
  3. 设置key的过期时间,避免Redis中存放太多不经常被访问的key。

相关文章:

  • 迷你世界脚本之容器接口:WorldContainer
  • 实例3.5.2 数字签名
  • ubuntu2204安装显卡驱动+多版本的cuda+cudnn+多版本tensorRT
  • Series和 DataFrame是 Pandas 库中的两种核心数据结构
  • 设计模式——建造者模式(生成器模式)总结
  • 【从0到1学Elasticsearch】Elasticsearch从入门到精通(上)
  • MySQL 5.7.43 二进制安装指南:从零开始的高效快速实现安装部署
  • 【C++】C与C++、C++内存空间、堆与栈
  • SAX解析XML:Java程序员的“刑侦破案式“数据处理
  • JS的大数运算(注意:原生的只支持整数计算!!!)
  • 四、Appium Inspector
  • 【小沐学GIS】基于C++绘制三维数字地球Earth(QT5、OpenGL、GIS、卫星)第五期
  • 【AI大模型】大模型RAG技术Langchain4j 核心组件深入详解
  • C++项目 —— 基于多设计模式下的同步异步日志系统(2)(工厂模式)
  • CAD 像素点显示图片——CAD二次开发 OpenCV实现
  • c语言 open函数
  • 「OC」小白书读书笔记——Block的相关知识(下)
  • 实现vlan间的通信
  • 解决单设备号双目摄像头调用难题:经验分享与总结
  • 融媒体中心智能语音识别系统设计与实现
  • 把中国声音带向世界,DG和Blue Note落户中国
  • 女孩患异食癖爱吃头发,一年后腹痛入院体内惊现“头发巨石”
  • 哪种“网红减肥法”比较靠谱?医学专家和运动专家共同解答
  • 中科飞测将投资超10亿元,在上海张江成立第二总部
  • 上海北外滩,未来五年将如何“长个子”“壮筋骨”?
  • 220名“特朗普币”持有者花1.48亿美元,获邀与特朗普共进晚餐