教育网站前置审批系统潍坊企业网站建设
2026/6/1 8:38:52 网站建设 项目流程
教育网站前置审批系统,潍坊企业网站建设,做环卫车怎么做网站,深圳航空官网机票预订1.hash取余算法 设有N个分⽚,使⽤[0,N-1]这样序号进⾏编号. 针对某个给定的key,先计算hash值,再把得到的结果%N,得到的结果即为分⽚编号. 举例#xff1a;N为3.给定key为hello,对hello计算hash值(⽐如使⽤md5算法),得到的结果为bc4b2a76b9719d91 ,再把这个结果%3,结果为0,那么…1.hash取余算法设有N个分⽚,使⽤[0,N-1]这样序号进⾏编号.针对某个给定的key,先计算hash值,再把得到的结果%N,得到的结果即为分⽚编号.举例N为3.给定key为hello,对hello计算hash值(⽐如使⽤md5算法),得到的结果为bc4b2a76b9719d91 ,再把这个结果%3,结果为0,那么就把hello这个key放到0号分⽚上.优点:简单高效数据分配均匀缺点:扩容后需要大量的数据迁移2.一致性hash算法一致性Hash算法也是使用取模的方法只是1.hash取余算法是对服务器的数量进行取模而一致性Hash算法是对2^ 32-1取模简单来说一致性Hash算法将整个Hash值控件组织成一个虚拟的圆环如假设某哈希函数H的值空间为0-2^32-1取模即哈希值是一个32位无符号整型整个空间按顺时针方向组织圆环的正上方的点代表00点右侧的第一个点代表1以此类推2、3、4、5、6……直到2^ 32-1也就是说0点左侧的第一个点代表2^ 32-1 0和2^ 32-1在零点中方向重合我们把这个由2^32个点组成的圆环称为Hash环。下一步将各个服务器使用Hash进行一个哈希具体可以选择服务器的主机名考虑到ip变动不要使用ip作为关键字进行哈希这样每台机器就能确定其在哈希环上的位置这里假设将上文中三个master节点的IP地址哈希后在环空间的位置如下优点:⼤⼤降低了扩容时数据搬运的规模,提⾼了扩容操作的效率.缺点:数据分配不均匀(有的多有的少,数据倾斜).3.hash槽分区算法1. 哈希槽的概念Redis集群使用16384个哈希槽来分散键空间。这意味着集群中的每个键都通过计算其哈希值并被映射到这16384个槽中的一个。2. 哈希槽的分配在Redis集群中每个节点负责一部分哈希槽。例如一个有5个节点的集群可能会将哈希槽平均分配给这5个节点每个节点负责3276个哈希槽16384 / 5 3276。3. 哈希槽的计算当Redis需要确定一个键应该被存储在哪个节点时它会使用以下步骤‌计算键的哈希值‌使用SHA1哈希函数计算键的哈希值。例如如果键是mykey则其哈希值可以通过SHA1(mykey)计算得到。‌取模运算‌将得到的哈希值对16384取模即哈希值 % 16384以得到该键应该被映射到的哈希槽编号。pythonCopyCodehash_slothash_value%16384‌查找节点‌根据得到的哈希槽编号查找该槽被分配到的节点。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询