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