1. 程式人生 > >Memcached原始碼分析-HashTable(4)

Memcached原始碼分析-HashTable(4)

1 原理圖

在這裡插入圖片描述

2 說明:

  1. Memcached在啟動的時候,會預設初始化一個HashTable,這個table的預設長度為65536。
  2. 我們將這個HashTable中的每一個元素稱為桶,每個桶就是一個item結構的單向連結串列。
  3. Memcached會將key值hash成一個變數名稱為hv的uint32_t型別的值。
  4. 通過hv與桶的個數之間的按位與計算,hv & hashmask(hashpower),就可以得到當前的key會落在哪個桶上面。
  5. 然後會將item掛到這個桶的連結串列上面。連結串列主要是通過item結構中的h_next實現。