redis集群
集群有点难 大部分的实操命令没有记录 希望能二刷补上 18:46
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- redis集群
 - 前言
 - 一、集群是什么?
 - 二、集群能干嘛?
 - 三、集群算法-分片-槽位slot
 - 1.redis集群的槽位slot
 - 2.redis集群的分片
 - 3.上述两者的优势
 - 4.slot槽位映射,一般业界有3种解决方案
 - ***a.哈希取余分区*** -->
 - ***b.一致性哈希算法分区*** -->
 - 是什么?
 - 能干嘛?相当于给奔跑中的汽车换轮胎
 - ==三大步骤==
 - 优点
 - 缺点
 - 总结:
 
- ***c.哈希槽分区*** -->
 - 为什么出现 解决数据倾斜的问题
 - 能干什么
 - 多少个hash槽
 - hash槽计算
 
- 5.面试题:为什么redis集群的最大槽位数是16384个?
 - 6.redis集群不保证强一致性,这意味着在特定的条件下,redis集群可能会丢失一些被系统收到的写入请求命令
 
- 四、集群环境案例步骤
 - 1、3主3从redis集群配置
 - 2、3主3从redis集群读写
 - 3、主从容错切换迁移案例
 - 4、主从扩容案例
 - 5、主从缩容案例
 
- 五、集群常用操作命令和CRC16算法分析
 - 1、在集群中,原来的批处理mget、mset命令不起作用,需要使用到通识占位符 {任意参数}
 - 2、CRC16源码浅谈
 - 3、常用命令
 - a.集群是否必须为 完整 情况下,才能对外提供服务?即有一个master挂了的情况 A:默认不提供,但可以设置
 - b.查看槽位是否被占用
 - c.查看该键应该放在哪个槽位上
 
前言
大纲
 
 单体哨兵redis和集群的概念图
 
一、集群是什么?
定义:
 
二、集群能干嘛?

三、集群算法-分片-槽位slot
槽位官网解释:
1.redis集群的槽位slot
槽位:

2.redis集群的分片
 
3.上述两者的优势

4.slot槽位映射,一般业界有3种解决方案
a.哈希取余分区 -->
 
优点:
 缺点:如果redis数量有变动,则映射关系会重新计算
b.一致性哈希算法分区 -->
是什么?
 
能干嘛?相当于给奔跑中的汽车换轮胎

三大步骤
算法构建一致性哈希环
redis 服务器IP节点映射
key落到服务器的落键规则 
优点
 
容错性:

扩展性:

缺点

 数据倾斜:大部分数据都缓存在某一台服务器上
 
总结:
 
c.哈希槽分区 -->
为什么出现 解决数据倾斜的问题

能干什么
 
多少个hash槽

hash槽计算

5.面试题:为什么redis集群的最大槽位数是16384个?


 说明1
 
 
 说明2
 
 计算结论:
 
6.redis集群不保证强一致性,这意味着在特定的条件下,redis集群可能会丢失一些被系统收到的写入请求命令
四、集群环境案例步骤

1、3主3从redis集群配置

2、3主3从redis集群读写


3、主从容错切换迁移案例

 容错切换迁移:
 
 集群不保证数据一致性100%,一定会有数据丢失的情况
 
手动故障转移 or 节点从属调整该如何处理
 即:6381从原来的主机变成从机之后,如何再调换回来重新变成主机?
 命令:CLUSTER FAILOVER
 
4、主从扩容案例
图示:
 
操作步骤:
 
5、主从缩容案例
图示:
 
操作步骤:
 
五、集群常用操作命令和CRC16算法分析

1、在集群中,原来的批处理mget、mset命令不起作用,需要使用到通识占位符 {任意参数}

2、CRC16源码浅谈
 
3、常用命令

a.集群是否必须为 完整 情况下,才能对外提供服务?即有一个master挂了的情况 A:默认不提供,但可以设置

b.查看槽位是否被占用

c.查看该键应该放在哪个槽位上

 



















