redis集群

1. 集群解决了什么问题?

  Redis使用集群方案是为了解决 单个节点数据量大、写入量大产生的性能瓶颈 (主从架构也是单节点写入,但是所有节点都是存储了全量的数据)的问题。

2. 集群是如何进行工作的?

  Redis采用哈希槽来处理数据与节点之间的映射关系,一个集群共有16384个哈希槽,每个key通过 CRC16算法计算出一个16bit的值,再对16384取模,得到对应的哈希槽,集群通过维护哈希槽与节点的关系来得到key的映射关系。集群节点之间互相通信,把当前节点的哈希槽分配信息互相传递。

客户端在连接到节点时,会获取到哈希槽与节点的映射关系,并缓存到本地。如果节点哈希槽与节点的映射关系改变,那么当客户端使用key计算后访问节点时,如果节点不存在该哈希槽,则会将最新的哈希槽映射关系返回给客户端,客户端更新本地缓存,并根据最新的映射关系再次访问对应的节点操作。

posted @ 2020-12-01 11:56  少羽大怪兽  阅读(65)  评论(0编辑  收藏  举报