In most of the cases, LRU should be good enough. If the 'important' items are used very often, they will be naturally kept in cache. Locking some rarely-used items in cache, I cannot see the justification for the cost of discarding other often-used items and constantly re-creating them as they are referenced frequently.

Yes and no. Looking at some real world cases (our) we have experienced that objects without specified ttl (which kinda qualify as permanent items) get evicted more/quicker rather than those with expiration set (as they prolly fall in to the same slabs). At some time we get to the point where a newly created item is pushed out few moments after it is added. Well you can say it shows that memcache needs more ram, but we are allready running on ten 30 gig instances with zilion of items :)


Running seperate servers with different settings is an option but imho throws out the window whole idea about transparent horizontal scaling/growing of memcached servers..

Anyway my point here was just to give some hints to the initial questions..

As there have been answers to different proposals like full cache dumps, replications, bdb backends and so on (I have always liked the responses to be superfast rather than feature-rich bloat) but noone really has answered to Pauls mail it was an opurtunity to throw it in again :)

rr

Reply via email to