On skimming the code it looks like tag invalidating loops over all items
and removes them from a linked list, then removes the tag from the splay
tree.
-Dormando
Jonathan Ariel wrote:
It doesn't seems to be a loop, it says "We use hash and splay tree, make
the tag_add and tag_delete commands very quickly, and save memory as
much as possible."
On Fri, May 9, 2008 at 2:44 PM, Dustin Sallings <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
On May 9, 2008, at 9:52, John Kramlich wrote:
Is anyone using the variant of memcached v 1.2.4 that supports
tagging found at the following
URLhttp://code.google.com/p/memcached-tag/ ? I am in the planning
stages of major feature additions to my web application and would
really like to use this version. I'm looking for feedback from
others who have used it. Is it stable enough for production use?
Any issues?
I think tagging is a generally useful feature, but we honestly
haven't put a lot of effort into reviewing the tag code.
In particular, we want tagging to be cheap on both setting and
invalidating. If either operation has to perform more than a single
lookup, then it may not be desirable. In particular, deleting by
tag is a loop (within a lock and with another nested loop within
it), which may cause the server to hang for long periods of time
when invalidating a widely-used tag. It *should* be possible to do
this without such a loop.
--
Dustin Sallings