1、基本概念
1.1定义
- 分片:数据按照某种规则(比如哈希)被分割成多个片段(或分片),每个片段被称为一个槽(slot)。槽是Redis分片集群中数据的基本单元。
- 节点:Redis分片集群由多个节点组成,每个节点都是一个独立的Redis服务器。每个节点都负责存储和处理一部分数据片段,并且节点之间相互通信以实现数据的路由和同步。
- 槽分配:在Redis分片集群中,每个槽都被分配给一个节点,节点负责存储和处理分配给它的槽中的数据。槽的分配可以由系统自动完成,也可以手动配置。
1.2Hash Slot
1.2.1简介
- Hash Slot(哈希槽)在Redis集群中是一个核心概念,主要用于实现数据的分布式存储和处理。
- Hash Slot是Redis Cluster数据分片的核心单元。
- 在Redis集群中,整个键空间被划分为固定数量的哈希槽,每个槽位是一个逻辑分区。
- 默认情况下,Redis集群包含16384个哈希槽,编号从0到16383。
- Redis使用CRC16算法来计算键的哈希值,并通过对16383取模来决定键应该放置在哪个哈希槽上。
- Redis集群中的哈希槽数量是固定的,且不可更改。因此,在创建集群时需要合理规划节点数量和哈希槽的分配方式。
1.2.2作用
- Hash Slot用于将数据分散到多个节点上,以实现水平扩展和负载均衡。
- 当客户端执