Memcached源码分析之item结构
2014-03-24 20:48
483 查看
item是Memcached中抽象实际数据的结构,我们分析下item的一些特性,便于后续Memcached的其他特性分析。
其结构图如下所示:
即Item由两部分组成,item的属性信息和item的数据部分,属性信息解释如上,数据部分包括cas,key和真实的value信息,item在内存中的存储形式如下:
这个图画出了部分结构,还有Hash表的结构没有画出。
这里大概介绍了item的一些信息,后面我们会分析item插入Hash表等信息。
注:本篇博客的图片摘自:http://kenby.iteye.com/blog/1423989
http://www.nosqlnotes.net/archives/222
typedef struct _stritem { struct _stritem *next;//item在slab中存储时,是以双链表的形式存储的,next即后向指针 struct _stritem *prev;//prev为前向指针 struct _stritem *h_next;//Hash桶中元素的链接指针 rel_time_t time; //最近访问时间 rel_time_t exptime;//过期时间 int nbytes;//数据大小 unsigned short refcount;//引用次数 uint8_t nsuffix; //不清楚什么意思? uint8_t it_flags; //不清楚什么意思? uint8_t slabs_clsid;//标记item属于哪个slabclass下 uint8_t nkey; //key的长度 union { uint64_t cas; char end; } data[];//真实的数据信息 } item;
其结构图如下所示:
即Item由两部分组成,item的属性信息和item的数据部分,属性信息解释如上,数据部分包括cas,key和真实的value信息,item在内存中的存储形式如下:
这个图画出了部分结构,还有Hash表的结构没有画出。
这里大概介绍了item的一些信息,后面我们会分析item插入Hash表等信息。
注:本篇博客的图片摘自:http://kenby.iteye.com/blog/1423989
http://www.nosqlnotes.net/archives/222
相关文章推荐
- memcached源码分析-----LRU队列与item结构体
- Memcached源码分析之内存管理篇之item结构图及slab结构图
- Memcached源码分析之do_item_alloc操作
- memcached源码分析item过期失效处理
- memcached源码分析-----item过期失效处理以及LRU爬虫
- memcached源码分析-----item过期失效处理以及LRU爬虫
- memcached源码分析-----item锁级别与item引用计数
- memcached源码分析-----item过期失效处理以及LRU爬虫
- MySQL源码分析以及目录结构 2
- 微信网页版前端源码分析(一)源码结构和公众号处理逻辑
- MySQL系列:innodb源码分析之page结构解析
- Android4.2.2源码目录结构分析
- Memcached源码分析之内存管理
- Hadoop源码分析之DateNode的目录构成与类继承结构
- Memcached源码分析(线程模型)
- nginx源码分析—hash结构ngx_hash_t(v1.0.4)
- nginx源码分析--链表结构体ngx_list_t
- Tachyon源码结构分析(四)
- Heritrix源码分析(六) Heritrix的文件结构分析