I wonder if memcached implements a mechanism for tagging keys with a piece of metadata such that in a single operation you can invalidate all keys with the same metadata tag, basically supporting sets of keys for the delete operation.
Alternatively, and more generally, I wonder if memcached can maintain a tree/DAG of relationships or dependencies between keys, like this:
k1 -> k2
|-> k3 -> k4
such that when you delete k1, k2, k3, and k4 are also deleted but if you delete k3, only k3 and k4 are deleted.
I'm not aware if these mechanisms exist already, since I'm not familiar with all of memcached.
If they don't, I'd like to start a discussion on implementing one or both of these mechanisms or similar ones. I understand that memcached tries to be minimal and with predictable amortized constant time performance, so *maybe* these features are overkill. Nevertheless, I'd like to hear the devs opinion.
Currently, if you need such a feature you would implement it in the client, keeping the metadata there and performing multiple delete commands when needed.
Users who do not need such a feature should not suffer performance overhead if they don't use them.