I'm looking for a caching solution quite similar to memcache, but the one thing I sorely miss is invalidating content based on a tag. Many preprocessed results depend on multiple sources of data, and a source of data contributes to multiple results. Altering sources of data should cascade into invalidating or those caches.
Of course I could store a tag as a key, with a list of other keys it generated / are dependent on it, but as any speed gain is of the essence, I'd rather not make multiple trips. What are my alternatives for a non-permanent, expiring in-memory data storage that has that capability?