# 安装redis集群

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/18950.html | 发布：2023-03-27 | 更新：2023-03-27 | 分类：建站教程

假设：1~2亿条数据需要缓存，请问如何设计这个存储案例

 

**单机单台100%不可能，肯定是分布式存储，用redis如何落地？**

 

一般业界有3种解决方案。

 

### 解决方案

 

#### **1.哈希取余分区**

 

**2亿条记录就是2亿个k,v，我们单机不行必须要分布式多机，假设有3台机器构成一个集群，用户每次读写操作都是根据公式：  
hash(key) % N个机器台数，计算出哈希值，用来决定数据映射到哪一个节点上。**

 

**优点：  
简单粗暴，直接有效，只需要预估好数据规划好节点，例如3台、8台、10台，就能保证一段时间的数据支撑。使用Hash算法让固定的一部分请求落到同一台服务器上，这样每台服务器固定处理一部分请求（并维护这些请求的信息），起到负载均衡+分而治之的作用。  
缺点：  
原来规划好的节点，进行扩容或者缩容就比较麻烦了额，不管扩缩，每次数据变动导致节点有变动，映射关系需要重新进行计算，在服务器个数固定不变时没有问题，如果需要弹性扩容或故障停机的情况下，原来的取模公式就会发生变化：Hash(key)/3会变成Hash(key) /?。此时地址经过取余运算的结果将发生很大变化，根据公式获取的服务器也会变得不可控。  
某个redis机器宕机了，由于台数数量变化，会导致hash取余全部数据重新洗牌。**

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
