Redis有四种集群模式,第一个就是主从模式,第二种“哨兵”模式,第三种是 Cluster 集群模式,第四种是单例模式,但是基本上只适用于自己练习。
接下来我们重点聊一聊前三种模式。
一、主从模式 1、主从复制概述当其中一台服务器更新之后,服务器会自动的将这台更新的数据同步到另外一台服务器上。
通过持久化的功能,redis可以保证就算是服务宕机重启了,也只有少量的数据会丢失。但是在真实的使用场景当中,如果真的只有一台服务器,并且恰好宕机了,那么就会导致整个服务都不可用,因此redis提供了集群的方式来部署,可以避免这种问题。
在主从复制这种集群部署模式中,我们会将数据库分为两类,第一种称为主数据库(master),另一种称为从数据库(slave)。
主数据库会负责我们整个系统中的读写操作,从数据库会负责我们整个数据库中的读操作。
其中在职场开发中的真实情况是,我们会让主数据库只负责写操作,让从数据库只负责读操作,就是为了读写分离,减轻服务器的压力。
但是我在实际开发中会遇到一种情况,该数据是个热点数据,我们知道,数据同步一定是会耗时的,那么当一个热点数据进入master中,而slave没有来得及更新,再去读这个数据就会造成数据不一致现象,所以当时我的方案就是直接去读master节点,这个逻辑同样适用于mysql主从中出现的问题。
2、主从复制作用