Comment #9 on issue 132 by [email protected]: Need to keep item out of LRU list
http://code.google.com/p/memcached/issues/detail?id=132

Yes, we are worrying about user error :) Software should do what people expect; changing default behavior is something we take seriously. Even a minor tweak like in
1.4.3 broke a lot of clients.

So to be clear, we're not saying that it's impossible or will never happen, but we're
saying that it's not going into the default engine.

Right now the default engine lets you turn on or turn off expirations wholesale. Anything inbetween is going to have differing user needs, and should be explicit so people know what to expect. That's been our experience as the best approach with the
software.

As I first described, you can very easily get this now by wrapping your client and shunting special expiration keys to another cluster with the LRU disabled. In the future it should be possible by using the bucket engine (after 1.6.0 is out). Then we can route between two engines based on "something", which could be the expiration
timeout.

That allows someone to easily either modify the engine so it uses one big pool, or run two engines with different slices of memory in the same instance and route magically. In both cases the behavior should be available through an out of the box instance of memcached post-1.6.0, but a user must explicitly enable it and can tune
it as their app needs.

So, again, this is more of a "no we don't want to confuse people who don't care + we communicate the project as being a lossy cache", along with a "but nothing's stopping you from doing that these three different ways, though two require waiting for 1.6"

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings


--
Subscription settings: http://groups.google.com/group/memcached/subscribe?hl=en

Reply via email to