Memcached LRU和到期日

时间:2011-02-10 20:29:41

标签: memcached

如果memcached中的项目设置为永不过期,是否可以免除LRU驱逐?

我所看到的文档并没有描绘出哪个优先。在我看来,让LRU仅适用于有效期>的项目是理想的(内部可能非常复杂)。 0

2 个答案:

答案 0 :(得分:16)

不,它不是免税的。 Memcached是缓存,而不是持久存储。其中的任何项目,或整个缓存本身可能随时消失(但除非它已满,否则不太可能,或者存在重大问题)。

在内存压力很大的情况下,LRU算法会删除任何必要的内容。

  

什么是memcached的缓存?

     

缓存结构是LRU(最近最少使用),加上到期超时。将项目存储到memcached中时,您可以说明它在缓存中应该有效多长时间。这是永远的,或将来的某个时间。如果服务器内存不足,则先替换过期的slab,然后接下来最旧的未使用的slab。

如果系统没有过期数据区域,它将丢弃最近最少使用的内存块(slab)。

答案 1 :(得分:3)

doc表示当expirezero_does_not_evict设置为' true'时,0 exptime的项目无法逐出。