当缓存已满40%时,Memcached驱逐

时间:2012-06-18 19:42:12

标签: memcached

当memcached只有40%满时,我看到了驱逐。怎么可能?

3 个答案:

答案 0 :(得分:13)

通过运行memcached统计数据来检查板坯尺寸。看起来您的slab不是均匀填充的,即使缓存未满,也会导致驱逐。

答案 1 :(得分:3)

我向this question写了一个很长的解释,这也适用于此。

答案 2 :(得分:1)

Memcached根据不同内存块的slab存储数据。如果已经分配了不同的内存块,那么即使其他内存块中没有数据,最近使用的最小算法也会在平板上运行并逐出数据。

因此,数据大小的大量分布可能导致此问题。 通过让多个memcached实例运行并将其用作分布式系统,可以减少问题。