日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 說說Redis哈希槽的概念?為什么是16384個?

說說Redis哈希槽的概念?為什么是16384個?

來源:千鋒教育
發布人:wjy
時間: 2022-09-19 11:38:03 1663558683

  Redis-cluster沒有使用一致性hash,而是引入了哈希槽的概念。Redis-cluster中有16384(即2的14次方)個哈希槽,每個key通過CRC16校驗后對16383取模來決定放置哪個槽。Cluster中的每個節點負責一部分hash槽(hash slot)。

  比如集群中存在三個節點,則可能存在的一種分配如下:

  1.節點A包含0到5500號哈希槽;

  2.節點B包含5501到11000號哈希槽;

  3.節點C包含11001 到 16384號哈希槽。

說說Redis哈希槽的概念?為什么是16384個?

  為什么是16384個

  在redis節點發送心跳包時需要把所有的槽放到這個心跳包里,以便讓節點知道當前集群信息,16384=16k,在發送心跳包時使用char進行bitmap壓縮后是2k(2 * 8 (8 bit) * 1024(1k) = 16K),也就是說使用2k的空間創建了16k的槽數。

  雖然使用CRC16算法最多可以分配65535(2^16-1)個槽位,65535=65k,壓縮后就是8k(8 * 8 (8 bit) * 1024(1k) =65K),也就是說需要需要8k的心跳包,作者認為這樣做不太值得;并且一般情況下一個redis集群不會有超過1000個master節點,所以16k的槽位是個比較合適的選擇。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 邳州市| 错那县| 西宁市| 翁牛特旗| 通化市| 涿州市| 全州县| 黄山市| 开封县| 盖州市| 济宁市| 遵化市| 鄂尔多斯市| 盐城市| 尚义县| 辽源市| 丹凤县| 行唐县| 太和县| 东源县| 昌邑市| 濮阳市| 新沂市| 金华市| 友谊县| 金平| 伊金霍洛旗| 长白| 滦平县| 博客| 精河县| 温州市| 云安县| 双城市| 蓬安县| 台北县| 贵溪市| 汝南县| 新乡县| 衡山县| 文成县|