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

Redis7基础篇(八)

redis集群

是什么

能干吗

集群算法-分片-槽位slot

redis集群的槽位slot

redis集群的分片

分片和槽位的优势

槽位映射的解决方案

上面的三个方案分别对应了小厂 中厂 大厂

哈希槽取余分区

缺点

一致性哈希算法分区

小总结

哈希槽分区

经典面试题

这里说的redis是ap而不是cp的 他没有强一致性

集群环境案例步骤

一配置

185虚拟机上有6381和6382

红字分别对应 集群是否打开 集群的配置文件 集群的访问和超时时间

启动六台redis主机实例

多了个中括号 告诉你这个是以集群方式启动的后台

语句后面的ip对应着 每台虚拟机中的ip

配置完成之后就产生了 这个东东

一定要写6381 不然就默认为6379

这边6381是master 但是他的从机slave是6384 我们刚才的设计理念是 81下的从机应该是82

实际情况是

我们可以使用cluster nodes 来查看集群节点之间的关系

二读写

set k1让去6385 set k2就能写 去了6385了能set k1 但是k2让去6381

在6381的时候通过算法得到你这个k1的槽位是12706要去找6385

在6385的时候通过算法得到你这个k2的槽位是449要去找6381

为什么报错

如何解决

退出之后重新连接 在连接的时候后面要加上一个-c

这里有一个 redirected相当于就是一个重定向

三主从容错切换迁移案例

四主从扩容案例

    

这里面的引路人就相当于 内推 换一个master也ok

这边下面他会问你 你想给他多少槽位 原来是三个槽位 就是16384/3 现在变为四个就是填16384/4得到的结果为4096

问你谁想要接收这4096个槽位 就是把m6387那的那个id复制过来 也就是那个新加槽的id

最后再写all

这样他就会重新洗牌分配槽号

五主从缩容案例

先获得6388的节点id

从集群中将4号从节点6388删除

集群常用操作命令和CRC16算法分析

集群中每个节点只有整个数据的一部分


http://www.mrgr.cn/news/4450.html

相关文章:

  • QString检查字符串是否包含指定的子字符串的contains函数
  • vue-cron-builder一个相对简易的cron表达式生成插件UI管理javascript
  • 【Python】DrissionPage:一款轻量级的浏览器自动化和网页采集工具
  • 普元EOS-基于CriteriaEntity进行数据查询
  • 【Java】——Java程序实现学生成绩输入与等级划分
  • Nginx服务优化与防盗链
  • Java语言程序设计——篇十六
  • 企业人力资源管理建设方案和系统源码(岗位、组织、招聘、合同、绩效、五险、考勤、薪资、考试培训、人才发展)
  • 普元EOS-利用热更新(热启动)提高开发效率
  • 【JavaEE】MyBatis 实战指南:从 JDBC 到高效数据库操作的进阶教程
  • docker修改数据目录
  • 【Element Ui】在 vxe-table 中使用 el-cascader,退出编辑状态显示 label 值
  • 【bash】设置shell为英文输出
  • C语言实现Reactor
  • Python爬虫案例一:获取古诗文并按用户输入的作者名进行数据保存
  • 1088:分离整数的各个数
  • 【Qt笔记】Qt界面显示时间
  • 【C++二分查找 前缀和】1658. 将 x 减到 0 的最小操作数
  • go语言基础之goroutine与channel经典练习题
  • 【Linux —— 线程互斥】