当前位置: 首页 > 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。

文章转载自:
http://accidentalist.alwpc.cn
http://childbed.alwpc.cn
http://atman.alwpc.cn
http://carnivore.alwpc.cn
http://bulgarian.alwpc.cn
http://backhander.alwpc.cn
http://carbamino.alwpc.cn
http://belong.alwpc.cn
http://algatron.alwpc.cn
http://achromatism.alwpc.cn
http://catamenia.alwpc.cn
http://burnet.alwpc.cn
http://adhesion.alwpc.cn
http://aerotrack.alwpc.cn
http://actualite.alwpc.cn
http://bepuzzlement.alwpc.cn
http://autograft.alwpc.cn
http://brimstony.alwpc.cn
http://boner.alwpc.cn
http://browsability.alwpc.cn
http://affiliated.alwpc.cn
http://admixture.alwpc.cn
http://aconite.alwpc.cn
http://agamogenetic.alwpc.cn
http://aerostatical.alwpc.cn
http://catafalque.alwpc.cn
http://astrand.alwpc.cn
http://accredited.alwpc.cn
http://antilope.alwpc.cn
http://affecting.alwpc.cn
http://www.dtcms.com/a/130591.html

相关文章:

  • 迷你世界脚本之容器接口: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间的通信
  • 解决单设备号双目摄像头调用难题:经验分享与总结
  • 融媒体中心智能语音识别系统设计与实现
  • 第2个小脚本:批量读取所有英文txt文章内容提取高频的单词
  • Matlab学习笔记五十:循环语句和条件语句的用法
  • 【微服务架构】SpringSecurity核心源码剖析+jwt+OAuth(七):SpringSecurity中的权限管理
  • 【HD-RK3576-PI】系统更新与恢复
  • Spring MVC 是如何将 @RequestMapping 注解映射到对应的 Handler 方法?
  • 【大英赛】大英赛准备笔记
  • MCP基础学习计划详细总结
  • Vue3项目中的前缀和
  • C++ ------ 智能指针
  • 2025年常见渗透测试面试题-webshell免杀思路(题目+回答)