1.集群架构
- Redis的集群模式采用的是无中心模式。
- 在Redis集群模式中,把所有的空间分为16384个槽位(slot)。默认情况下,所有的Master节点平分所有槽位。由于Slave节点会从Master节点同步所有数据,所以从节点和对应的主节点的槽位相同。
- 客户端在启动时,会从配置的节点列表中的某一个节点中,获取到所有集群相关的信息,包括槽位的分配信息等。
- 客户端程序在进行操作时,会对其中的key值进行CRC16计算,通过计算出来的结果与16384取余来确定key属于哪个槽位,继而确定相对应的节点。
- 确定节点之后,就可以用单机模式一样的方式进行操作。
2. 主从
- 在redis中,一个主节点可以有若干个从节点。
- 当主节点故障时,会从从节点中选取一个新的主节点。当旧的主节点恢复时,会成为新的主节点的从节点。
- 默认情况下,从节点是只读的,主节点可读可写。
- 通过增加从节点可以扩展读,增加主节点可以扩展写