哈希槽分区(哈希分区是什么)

哈希槽分区(哈希分区是什么)

浏览次数:
信息来源: 用户投稿
更新日期: 2026-01-21 15:12:20
文章简介

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aE16YC6T-1649930007495)(https://www.mfisp.com/picture/哈希槽分区.p

2025阿里云双十一服务器活动

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aE16YC6T-1649930007495)(https://www.mfisp.com/picture/哈希槽分区.png)]

哈希槽分区,哈希分区是什么

槽解决的是粒度问题,相当于把粒度变大了,这样便于数据移动。哈希解决的是映射问题,使用key的哈希值来计算所在的槽,便于数据分配。?3.多少个hash槽一个集群只能有16384个槽,编号0-16383(0-2^14-1)。这些槽会分配给集群中的所有主节点,分配策略没有要求。可以指定哪些编号的槽分配给哪个主节点。集群会记录节点和槽的对应关系。解决了节点和槽的关系后,接下来就需要对key求哈希值,然后对16384取余,余数是几key就落入对应的槽里。slot=CRC16(key)%16384。以槽为单位移动数据,因为槽的数目是固定的,处理起来比较容易,这样数据移动问题就解决了。

哈希槽计算:Redis集群中内置了16384个哈希槽,redis会根据节点数量大致均等的将哈希槽映射到不同的节点。当需要在Redis集群中放置一个key-value时,redis先对key使用crc16算法算出一个结果,然后把结果对16384求余数,这样每个key都会对应一个编号在0-16383之间的哈希槽,也就是映射到某个节点上。如下代码,key之A、B在Node2,key之C落在Node3上

标签:
低价大带宽服务器
« 上一篇
返回列表
下一篇 »

如本文对您有帮助,就请抽根烟吧!