当前位置:首页 > 经验 >

通俗易懂的哈希算法(哈希算法都有哪些)

来源:原点资讯(www.yd166.com)时间:2022-11-18 03:01:13作者:YD166手机阅读>>

上图中,由于有4台服务器(排除从库),因此公式为hash(sessionId) % 4 = 2 ,可知定位到了第2号服务器。

但是呢,普通的如果4台缓存服务器已经不能满足我们的缓存需求,那么我们应该怎么做呢?很简单,多增加几台缓存服务器不就行了!

假设:我们增加了一台缓存服务器,那么缓存服务器的数量就由4台变成了5台。那么原本hash(sessionId) % 4 = 2 的公式就变成了hash(sessionId) % 5 = ?, 可想而知这个结果肯定不是2的,这种情况带来的结果就是当服务器数量变动时,所有缓存的位置都要发生改变!

于是乎,他才想引我去答一致性哈希算法!总之,该死的破网络!导致两边不在一个频道上!

一致性哈希

既然都提到了一致性哈希算法了,就当复习一下吧~~

一致性哈希算法的精髓只有一个:对2^32次方取模。

我们将二的三十二次方想象成一个圆,这个圆上的数字就是即0~(2^32)-1。

如下图所示

通俗易懂的哈希算法,哈希算法都有哪些(5)

这时候有三台缓存服务器A、B、C。

我们

hash(服务器A的IP地址) % 2^32

插播一下,写到这里,这里我又想起一道题了!

有哪些常见的hash算法啊?

OK,先继续我们的话题。经过上面的运算,我们算出的结果一定是一个0到2^32-1之间的一个整数,我们就用算出的这个整数,代表服务器A,既然这个整数肯定处于0到2^32-1之间,那么,上图中的hash环上必定有一个点与这个整数对应,我们使用这个整数代表服务器A,那么,服务器A就可以映射到这个环上。

同理进行

hash(服务器B的IP地址) % 2^32

hash(服务器C的IP地址) % 2^32

于是,得到了下面这一张图

通俗易懂的哈希算法,哈希算法都有哪些(6)

那么,我们要用服务器存储session,那么我们用sessionId做key,进行如下运算

hash(sessionId) % 2^32

得到的一个环上的值。那我们怎么知道session被存到哪个服务器上呢,OK,顺时针方向找到的第一个服务器就是。如下图所示

通俗易懂的哈希算法,哈希算法都有哪些(7)

假设,我们现在有四个session,分别进行映射运算后得到如下的环

通俗易懂的哈希算法,哈希算法都有哪些(8)

栏目热文

哈希算法背景(哈希算法缺点)

哈希算法背景(哈希算法缺点)

在程序员的实际开发中,哈希算法常常能用得到,本文以哈希算法的原理和应用为核心,和大家详细讲解一下哈希算法的概念、常见算法...

2022-11-18 03:32:00查看全文 >>

哈希算法四种特性(哈希算法原理详解)

哈希算法四种特性(哈希算法原理详解)

什么是哈希算法哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯...

2022-11-18 03:14:13查看全文 >>

哈希256算法详解(哈希算法详解图解)

哈希256算法详解(哈希算法详解图解)

从输出的哈希值反推回输入,这从计算的角度是不可行的。• 来源:Linux.cn • 作者:Mike Bursell • ...

2022-11-18 02:57:10查看全文 >>

最简单的哈希算法(哈希算法通俗易懂)

最简单的哈希算法(哈希算法通俗易懂)

作者:小傅哥 博客:https://bugstack.cn沉淀、分享、成长,让自己和他人都能有所收获!一、前言哈希表的历...

2022-11-18 03:08:01查看全文 >>

哈希算法图解大全(最简单的哈希算法)

哈希算法图解大全(最简单的哈希算法)

摘要本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先...

2022-11-18 02:53:44查看全文 >>

哈希算法的三个基本特征(哈希算法的真实案例)

哈希算法的三个基本特征(哈希算法的真实案例)

提到hash,相信大多数同学都不会陌生,之前很火现在也依旧很火的技术区块链背后的底层原理之一就是hash,下面就从has...

2022-11-18 03:41:17查看全文 >>

李永乐老师讲哈希算法(李永乐老师rsa算法)

李永乐老师讲哈希算法(李永乐老师rsa算法)

我是一个南方人,在湖北武汉读的一个普通本科的软件工程专业。高考时的发挥和最后的成绩并没有让我很满意,填完志愿后我便觉得万...

2022-11-18 03:22:58查看全文 >>

哈希算法的由来(谈谈你对哈希算法的理解)

哈希算法的由来(谈谈你对哈希算法的理解)

【编者按】区块链,这个之前主要在IT和金融领域被广泛讨论的概念,因为中央政治局一次集体学习而迅速在普通民众间成为高频词和...

2022-11-18 03:34:53查看全文 >>

比特币哈希算法(比特币的哈希函数)

比特币哈希算法(比特币的哈希函数)

在接触过或购买过数字藏品的朋友来说,每份数字藏品上都有一份“哈希值”,这些所谓的“哈希值”由一串很长的数字 字母构成,而...

2022-11-18 03:36:27查看全文 >>

哈希算法通俗理解(哈希算法详解图解)

哈希算法通俗理解(哈希算法详解图解)

比特币的区块链以线性“链”的方式存储区块,每个区块在数学上都指向前一个区块。通过这种方式,即使没有对区块进行明确的编号,...

2022-11-18 03:18:57查看全文 >>

文档排行