How the slabs are allocated in Memcached server?

时间:2017-05-16 09:24:50

标签: node.js memcached

I've decided to use Memcached package to my Nodejs application.I wish to understand about the slab allocator in Memcached server.How the slabs are allocated and how the values are stored in the slab?

1 个答案:

答案 0 :(得分:1)

Memcached将分配的内存拆分为' Pages'固定大小(1 MB)。每个页面进一步划分为' Chunks'并与一些' Slab'相关联。

A' Slab'将与多个“页面”相关联。拥有' Chunks'具有相同大小以保持某个范围内的值,最大值为块大小。鉴于此类比,块大小可以是页面大小的最大值,即1MB。这解释了为什么要存储在memcache中的最大值大小限制为1MB。

让我们举一个例子来说清楚。哟想要存储1001字节的值; memcached将查找包含1000到2000字节之间值的slab。然后它找到一个带有空块的页面并将值插入该块。您可以找到类似的讨论here

希望它有所帮助!