上一篇对 Redis 做了一个比较全面的梳理,从数据结构到场景,再到各种原理和机制,完全掌握后基本能应对大部分 Redis 相关的问题了,这一篇再从架构上做一个补充,包括基础的主从模式,哨兵模式和官方的集群方案,这些架构解决了很多 Redis 使用上的问题,但是仍然存在缺陷,所以诞生了很多社区的集群方案来解决大家普遍遇到的问题,这里就不讨论了,有兴趣的同学可以自行去了解。总的来说 Redis 还是一个非常优秀的内存数据库,在大数据的领域的应用也是非常广泛的。
本篇面试内容划重点:主从,哨兵,故障恢复,集群,数据分区
主从模式
如图所示,主从复制的架构非常简单,一主多从。左边的结构会加重 Master 的主从复制负担,因为多个从节点都会从 Master 复制数据,右边这种结构的设计就是为了减轻 Master 的负担,但是会带来 slave 的单点问题。一般情况下,一主一从就够用了。来看看复制的流程:
- Slave 向 Master 发送 sync 命令,携带 mas