memcached存储原理_运维






slab:每个slab负责一定范围内的数据存储,memcached将内存空间分为一组slab。

page:每个slab下又有若干个page,每个page默认是1M(假设slab[1]的大小为100M,则slab[1]有100个page)。

chunk:每个page里面包含一组chunk,同一个slab里面的chunk大小是固定一致的(假设slab[1]存储0-100Byte范围内的数据,则slab[1]下面的所有chunk大小都为100Byte)。

items:客户端传送的键-值包装成items结构体,即实际的数据。

说明:所以chunk是真正存放数据的地方,每个chunk下面存放一个item(假设chunk的大小为100Byte,则小于等于100Byte的value会存放在该chunk中,同时chunk里面也会存在内存浪费现象)。