1 原理图

Memcached源码分析-HashTable(4)

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实现。

相关文章: