That covers it, my point was I was watching the cache grow when I was
expecting it to stay relatively flat, due to expiration.  The lazy
expiration covers it!

Thanks,

Gavin

On 5/7/07, Jehiah Czebotar <[EMAIL PROTECTED]> wrote:

On 5/7/07, Gavin M. Roy <[EMAIL PROTECTED]> wrote:
> Hello,
>
> Am running memcached in production on a fairly large site and am
noticing
> that while I'm putting in expirations, the size of the utilization is
> growing disproportionately with the expected growth of the cache based
upon
> what we implemented it for.  By some testing, it seems that items that
are
> expired from the cache are only removed when the get request is
sent.  Is
> our interpretation of this behavior correct, or does content in the
cache
> expire based upon the timestamp through some internal stack?  If it's
the
> later how often does the daemon run through to get rid of expired
content?
>
> TIA,
>
> Gavin
>

I'm not sure what you mean when you say utilization is growing
disproportionately... but i can answer the second half of the question

memcached uses a lazy expiration, which means it uses no extra cpu
expiring items. When an item is requested (a get request) it checks
the expiration time to see if the item is still valid before returning
it to the client.

similarly when adding a new item to the cache, if the cache is full,
it will look at for expired items to replace before replacing the
least used items in the cache.

--
Jehiah

Reply via email to