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

Redis集群模式

1.redis集群模式

redis单机版,出现单机故障后,导致redis无法使用,如果程序使用redis,间接导致程序出错。

redis的集群模式:

  1. 主从复制模式

  2. 哨兵模式

  3. 集群化模式

2.主从复制模式

一主多从模式。一个主节点,多个从节点,那么主节点可以负责:读操作,写操作。 从节点只能负责读操作,不能负责写操作。 这样就可以把读的压力从主节点分摊到从节点,以减少主节点的压力。

当主节点执行完写命令,会把数据同步到从节点。

2.1如何搭建主从关系

原则:配从不配主。

准备: 一主二从-----3台----开三个虚拟机–为了节省虚拟机,在一台主机开启三个redis服务。

7001主节点 7002和7003作为从节点

(1).可以在同一台虚拟机开启三个redis服务,区分这三个服务可以按照端口号。

7001[master] 7002[slave] 7003[slave]

(2).创建文件夹master-slave

复制三份redis配置文件 redis7001.conf redis7002.conf redis7003.conf

(3). 修改三份配置文件的端口号以及rdb文件的名称

(4)开启redis服务

(5)进入三个redis服务的客户端

(6)查看三个redis服务的主从关系

info replication

(7)配置7002和7003为7001的从节点

slaveof 主节点的ip 主节点port

通过实验: 我们在主节点上执行set k1 v1 可以发现从节点也存在该数据.证明同步到从节点。

可以看出主节点可以读和写。但是从节点只能读。

思考: 1. 如果主节点挂了,从节点会不会上位 不会
2. 如果增加一个新的从节点,新从节点会不会把之前的数据同步过来。会

3.哨兵模式

由于主从模式,主节点单机后,从节点不会自动上位。 增加一个哨兵服务,该哨兵时刻监控master,如果master挂了,哨兵会在从节点中选举一位为主节点【哨兵投票机制】

修改sentinel.conf配置文件

启动哨兵(正常开发中一主二从节点都需要开启哨兵来监控,这里因为我们是一个虚拟机只需要要配置一个就能监控到监控到三个节点)

redis-sentinel sentinel.conf

测试:

主节点挂掉:

shutdown—redis-cli客户端

思考:

老大归位–不在是老大。

4.集群化模式

不管上面的主从还是哨兵模式,都无法解决单节点写操作的问题。如果这时写操作的并发比较高。这是可以实验集群化模式【去中心化模式】

原理:

redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value时,redis 先对 key 使用 crc16 算法算出一个整数结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。

当你往Redis Cluster中加入一个Key时,会根据crc16(key) mod 16384计算这个key应该分布到哪个hash slot中,一个hash slot中会有很多key和value。你可以理解成表的分区,使用单节点时的redis时只有一个表,所有的key都放在这个表里;改用Redis Cluster以后会自动为你生成16384个分区表,你insert数据时会根据上面的简单算法来决定你的key应该存在哪个分区,每个分区里有很多key。

4.1如何搭建去中心化集群

准备6台redis服务器 创建cluster文件夹 单独放这六个配置文件

搭建:

三主三从:
6001 6002 6003 主节点
6004 6005 6006 从节点

Redis-1 防火墙–6379

bind 0.0.0.0 69行

port 6001 92行

daemonize yes 136行

dbfilename dump6001.rdb

# 打开aof 持久化

appendonly yes 700行

appendonly appendonly6001.aof

# 开启集群

cluster-enabled yes 833行

# 集群的配置文件,该文件自动生成

cluster-config-file nodes-6001.conf 841行

# 集群的超时时间

cluster-node-timeout 15000 847行

启动这六个redis服务

redis-server redis6001.conf
redis-server redis6002.conf
redis-server redis6003.conf
redis-server redis6004.conf
redis-server redis6005.conf
redis-server redis6006.conf

设置主从关系以及槽的分配 --分主从5.0前很复杂,这个是5.0之后的

redis-cli --cluster create --cluster-replicas 1 192.168.19.151:6001 192.168.19.151:6002 192.168.19.151:6003 192.168.19.151:6004 192.168.19.151:6005 192.168.19.151:6006

注意:一定要保证每个节点都没有数据

测试:客户端连接集群

redis-cli-c-h 192.168.19.151 -p 6001

可以把写操作均摊到不同的节点上,减轻了单个主节点的压力

http://www.jsqmd.com/news/450512/

相关文章:

  • 如何搭建一个聊天机器人?#3 初步了解koishi、napcat以及onebot
  • 锦囊专家:2025中国企业数智化转型典范案例集 2026
  • 手机也能玩AI换脸?云端部署Roop-Unleashed保姆级教程
  • 免费好用的论文查重网站推荐
  • 群晖Synology Directory Server批量导入用户避坑指南:为什么你的TXT文件总是导入失败?
  • 读懂“社稷为重,君为轻”:真正的忠臣,从不是皇帝的奴才
  • rust web框架actix和axum比较
  • AIChat聊天助手:把 AI 助手“嵌进”你的业务系统
  • 【VMD+Gromacs】用 VMD 玩转分子动力学可视化
  • Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
  • 强化学习,第五部分:时间差分学习
  • Java Web 校车调度管理系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
  • “印度人参“药效之“醉茄内酯“内酯环的生物合成途径解析
  • 哈尔滨汽车音响改装 大众揽镜丹麦丹拿232、丹拿212、阿尔派R120-12音响改装升级 全车隔音降噪 哈尔滨消费者满分好评店铺-博士达汽车音响作品 - 木火炎
  • 【2025最新】基于SpringBoot+Vue的校园便利平台管理系统源码+MyBatis+MySQL
  • 【C++基础篇】学习C++就看这篇--->泛型编程之模板
  • 2026搪瓷拼装罐优质品牌推荐指南 - 优质品牌商家
  • 2026年3月,评测揭秘行业口碑好的仿古拉丝机品牌,木纹拉丝机/地板拉丝机/底漆砂光机,拉丝机实力厂家口碑排行 - 品牌推荐师
  • 又一家独角兽冲刺港股:仓储机器人“军备竞赛“进入决赛圈
  • 深度学习驱动的桥梁裂缝检测:从原理到实践
  • 从零开始打造你的专属NAS
  • 76_Spring AI 干货笔记之 MCP 服务器注解 - 教程
  • 上海正规防水公司哪家强?深耕本土14年的专业选择 - shruisheng
  • 基于Django+Vue+MySQL的花卉电商平台系统(含完整源码与12000字详细开发文档)
  • 强化学习,第六部分:n 步引导
  • 下面是 TypeScript + ESModule 版本的最小示例,和你项目更接近。
  • 无人机巡检图像分析实战:基于深度学习的电线杆与铁塔智能识别与缺陷检测
  • 中兴通讯年营收1339亿:扣非后净利33.7亿同比降45% 派息20亿
  • 何搭建一个聊天机器人?#0.5 名词解释
  • 不容错过!2026年2月数字化运营系统口碑榜单揭秘,OMO模式数字经济电商/消费升级零售,数字化运营系统排行 - 品牌推荐师