代码拉取完成,页面将自动刷新
同步操作将从 balloonwj/CppGuide 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
item
是Memcached
中抽象实际数据的结构,我们分析下item的一些特性,便于后续Memcached的其他特性分析。
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表等信息。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。