联系hashgameCONTACT hashgame
地址:广东省广州市
手机:13988889999
电话:020-88889999
邮箱:admin@qq.com
查看更多
Rhashgamehashgame
你的位置: 首页 > hashgame

左神算法初级班学习笔记整理四左程云算法初级班学HASH GAME - Online Skill Game ET 300习笔记整理之哈希函数和哈希表打印版

发布时间:2025-03-08 16:27:58  点击量:

  HASH GAME - Online Skill Game GET 300

左神算法初级班学习笔记整理四左程云算法初级班学HASH GAME - Online Skill Game GET 300习笔记整理之哈希函数和哈希表打印版

  1)典型的哈希函数都有无限的输入值域 2)当哈希函数输入一致时,输出必相同 3)当哈希函数传入不同的输入值时,返回值可能一样,也可能不一样,由于输 入域远大于值域 4)(重要)很多的不同输入所得的输出值会均匀的分布在 S 上(但不是绝对均 匀) 最后一个性质对于一个优秀的哈希函数是非常重要的,并且这种均匀与数据的 输入规律无关。比如“aa1”、aa2经过 hash 后可能结果会相差很多。将输出 值对 m 取余(%m),这就是一个哈希函数,就会将不定长输入映射到 0~m-1 空 间中,并且在这个空间也保持均匀分布!哈希表就是这么做的。

  请分析这种缓存策略可能带来的问题,并提出改进的方案。 一致性哈希是一种服务器的设计,是一种数据缓存的设计方案。 需求: 有多台后端服务器,希望进行负载均衡。举个例子:现在有 3 台服务 器,那么读取图片的请求会均衡的负载在三台服务器上。 经典的服务器设计的抗压结构: 一种做法是对请求进行哈希计算,计算结果对服务器数量去模(前端抗压结构 完成,ngnix 或 Tomcat),例如 3 台服务器,取模结果为 0,1,2。

  尽管需要扩容,但是扩容并不是经常发生的。扩容为 N,其复杂度也就是 logN,因为每次都是成倍翻。另外,除了在线扩容,还可以离线扩容。 在线扩容:如果有用户需要 put 或 get 并且系统正在扩容,需要先等着,等扩 容完成之后返回结果。 离线扩容:开辟一个新的区域,将老的哈希挪到新的哈希表上去重新计算一 遍,如果在扩容的过程中,有用户需要对哈希表做操作,在老的哈希表上做操 作,如果有 put 操作,同时更新老的哈希表和新的哈希表,当扩容完成后,将 流量全部切到新的哈希表上去。

【返回列表页】

顶部

地址:广东省广州市  电话:020-88889999 手机:13988889999
Copyright © 2018-2025 哈希游戏(hash game)官方网站 版权所有 非商用版本 ICP备案编: