I believe most of this is covered in

http://dormando.livejournal.com/495593.html

Jared

On Mar 12, 9:02 pm, "martin.grotzke" <[email protected]>
wrote:
> Hi,
>
> I know that this topic is rather burdened, as it was said often enough
> that memcached never was created to be used like a reliable datastore.
> Still, there are users interested in some kind of reliability, users
> that want to store items in memcached and be "sure" that these items
> can be pulled from memcached as long as they are not expired.
>
> I read the following on memcached's memory management:
>   "Memcached has two separate memory management strategies:
> - On read, if a key is past its expiry time, return NOT FOUND.
> - On write, choose an appropriate slab class for the value; if it's
> full, replace the oldest-used (read or written) key with the new one.
> Note that the second strategy, LRU eviction, does not check the expiry
> time at all." (from "peeping into memcached", [1])
>
> I also found "Slabs, Pages, Chunks and Memcached" ([2]) a really good
> explanation of memcached's memory model.
>
> Having this as background, I wonder how it would be possible to get
> more predictability regarding the availability of cached items.
>
> Asume that I want to store sessions in memcached. How could I run
> memcached so that I can be sure that my sessions are available in
> memcached when I try to "get" them? Additionally asume, that I expect
> to have 1000 sessions at a time in max in one memcached node (and that
> I can control/limit this in my application). Another asumption is,
> that sessions are between 50kb and 200 kb.
>
> The question now is how do I have to run memcached to "store" these
> sessions in memcached?
>
> Would it be an option to run memcached with a minimum slab size of
> 200kb. Then I would know that for each session a 200kb chunk is used.
> When I have 1000 session between 50kb and 200kb this should take 200mb
> in total. When I run memcached with more than 200mb memory, could I be
> sure, that the sessions are alive as long as they are not expired?
>
> What do you think about this?
>
> Cheers,
> Martin
>
> [1]http://blog.evanweaver.com/articles/2009/04/20/peeping-into-memcached/
> [2]http://www.mikeperham.com/2009/06/22/slabs-pages-chunks-and-memcached/

Reply via email to