mc代码分析

基于memcached-1.4.33, commitid:bd578fc34b96abe0f8d99c1409814a09f51ee71c

1.connection

当conn到来时使用lib_event库处理,处理的过程是一个状态机,conn一直在这个状态机的不同状态之间轮转。

 

2.内存结构

primary_hashtable

当后面的链表里面是装数据的item,当hashtable里面的item数量是hashtable数组长度的1.5倍时就会开始扩容,assoc_maintance_thread来处理,

把primary_hashtable赋给old_hashtable,把primary_hashtable的长度扩展一倍,然后再把old_hashtable里面的items移到新的hashtable里面来。

 

LRU链表:

 

slab_class









你可能感兴趣的:(nosql,memcache,代码分析)