文件名称:memcache的tcp_udp_内存流程图.pdf
文件大小:241KB
文件格式:PDF
更新时间:2012-08-13 07:27:01
memcached,tcp,udp,内存
系统启动流程的函数说明memcache使用了libevent来管理事件 libevent需要注册一个事件回调函数,当事件发生时,触发回调函数 libevent的稍微详细的介绍见最后的libevent介绍 .3. 数据保存对象struct item结构的操作函数 memcached在内部使用双向链表维护item的数据,现在我们看看item结构体和几个主要的函数: <1>do_item_alloc(key, key_len, client_flag, expiretime, data_len) 申请足够大的内存单元 | 计算所需的内存单元大小item_make_header(key_len+1(加1表示字符串末尾的"0"), client_flag, data_len, buf, &extral_len)) | 根据所需大小查找内存单元 slabs_clsid(need_size) --> 检查是否存在内存分组 slabs_alloc(need_size) --> slabs_alloc是一个宏,对于多线程模式和单线程模式,它会映射到不同的函数