brian at tangent.org
Thu Oct 4 15:24:34 UTC 2007
On Oct 3, 2007, at 4:17 PM, Dustin Sallings wrote:
> Tags seem to be getting hot and lots of people have talked about
> it fairly abstractly. I wanted to try to bring some of those
> together with respect to a memcached implementation and sit back
> and watch it all happen. :)
> Firstly, I think there are two new commands to implement tags:
> 1) add_tag (key, tag_name)
> 2) invalidate_tag (tag_name)
> I don't think there's a need for tag inspection for a given
> object. There is *definitely* no command to search by tag.
It would be nice to do three additional things with tags:
1) Get a list of all active keys associated with a tag (even if it is
lossy). Two optimizations would be:
* Give me the count of objects within this tag
* For a read, take a snapshot version of the list to have read
consistency (aka take an MVCC approach)
2) Allow the "set" of an object with its tag name. This will solve
the problem of creating an object and then tagging the object.
3) Clear an object from a tag.
4) Option to invalidate a tag, and blow away all keys associated with
it (think of it as a mini-operation to save on round trips)
> [It's unclear whether it's worth the effort to ever release a tag
> once it's been added. If we assume that tags live forever, we
> don't have to refcount them and a few things get easier. Any
If you invalidate a tag, the tag should go away.
Brian "Krow" Aker, brian at tangent.org
http://krow.net/ <-- Me
http://tangent.org/ <-- Software
http://exploitseattle.com/ <-- Fun
You can't grep a dead tree.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the memcached