主从复制模式
配置一个主Redis,多个从Redis。当往主Redis写数据时,从Redis都会同步数据(主从复制);这样支撑Redis的高并发读
优点:
实现读写分离,提升数据的查询效率
缺点:
不具备恢复的功能:主Redis挂了,不会自动选举出新的主Redis,导致后续的写请求失败
无法在线扩容:容量仍然是单机的容量
哨兵模式
基于主从复制模式,引入了哨兵,解决了主从模式无法重新选举的问题,但在线扩容没有解决
Cluster模式
该模式下各节点的数据是不一样的,也就是存储着数据的一部分。根据集群的节点数量大致均匀地将0~16383的哈希槽映射到不同的节点上(如有3个节点,A是0~5000,B是5001~10000,C是10001~16383),当往集群中存储一个key-value时,先对key用crc16算法计算出一个结果,然后用16384求余,最后根据余数将key-value放到具体某个节点中。也引入了主从复制模式,一个主节点对应1个或多个从节点。
优点:
可在线扩容、能故障自动恢复
缺点:
客户端实现复杂、slave只是冷备节点,不提供分担读的压力、批量操作有限制