翻倍扩容的时候,翻倍的是普通桶的数量,那溢出桶的数量是否也翻倍?

翻倍扩容的时候,翻倍的是普通桶的数量,那溢出桶的数量是否也翻倍?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
Moody 2025-09-30 11:46:59

溢出桶不会翻倍

  • 溢出桶是按需分配的,本质上是为了解决单个桶里放不下 8 个 kv 的临时补丁。

  • 在扩容过程中,Go 会逐步把旧桶和它们的溢出桶里的元素迁移到新桶:

    • 一部分 key 迁移到原桶编号位置

    • 一部分 key 迁移到新桶编号位置

  • 当迁移完成后,新的普通桶可能足够容纳这些 kv,很多旧的溢出桶就会变空,被 runtime 回收(归还给溢出桶 freelist)。


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
云原生工程师
  • 参与学习       109    人

云时代,云原生工程师是一个前所未有的职业发展新机遇,2025学习正当时。资深云原生架构师亲授,快速构建完整理论体系,积累丰富企业级项目经验,轻松入行,保姆式教学服务+丰富辅助资料+就业指导+简历指导,

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师