redis集群模式有几种?三种
哪三种?
主从模式
哨兵模式
分布式模式
主从模式
最常见的模式,一主多从。主节点负责写,从节点负责读。
优点
提高了可用性,解决了单点故障的问题。
缺点
master宕机需要手动切换
多从节点宕机,恢复后会导致master节点io激增(同步数据导致)
哨兵模式
在主从模式的基础上,引入sentinel做服务监控,监控所有的redis节点。master节点宕机后,sentinel停止从节点与主节点的同步,同时在从节点中选择一个节点作为新的master节点。
优点
在主从模式的基础上,大大提高了可用性
缺点
redis集群较难扩容
分布式模式cluster
以上两个模式,所有的redis节点都存储了全量的数据。本质上并没有节省空间,只是单纯提高了可用性。
分布式模式,实现了数据分片存储。
redis有16384个hash槽,
对所要存储数据的键值key进行crc16算法计算后,再对16384取余,余数就是该值所要存储的位置。
这样实际上客户端只需要连接众多redis节点中的一个即可,因为redis节点除了保存部分数据以外,还保存了所有的hash槽对应的redis节点地址。即在任意redis节点,都可以通过计算,再连接到其他redis节点。