1 原理图
2 说明:
- Memcached在启动的时候,会默认初始化一个HashTable,这个table的默认长度为65536。
- 我们将这个HashTable中的每一个元素称为桶,每个桶就是一个item结构的单向链表。
- Memcached会将key值hash成一个变量名称为hv的uint32_t类型的值。
- 通过hv与桶的个数之间的按位与计算,hv & hashmask(hashpower),就可以得到当前的key会落在哪个桶上面。
- 然后会将item挂到这个桶的链表上面。链表主要是通过item结构中的h_next实现。