深入Memcache内部(二)-item内存分配

来源:互联网 发布:c语言动态心形代码 编辑:程序博客网 时间:2024/06/05 21:15

1.Item数据格式

    Item是保存在chunk中的实际数据

    

2.新建Item分配内存过程

快速定位slab classid
计算key+value+suffix+32结构体,如90byte
如果>1MB,无法存储丢弃
取最小冗余的slab class
如:有48,96,120,存90会选择96


按顺序寻找可用chunk
slot:检查slab回收空间slot里是否有剩余chunk
delete:delete时标记到slot
exptime:get时检查的过期对象标记到slot
end_page_ptr:检查page中是否有剩余chunk
memory:内存还有剩余则开辟新的slab
LRU:Slab内部扫描Item双向链表50次

原创粉丝点击