Я не думаю, что это прямое решение, но попробуйте создать систему пространств имен в ключах memcache, например, http://www.cakemail.com/namespacing-in-memcached/. Короче говоря, ключи генерируются и содержат текущие значения других ключей memcached. В проблеме с пространством имен идея состоит в том, чтобы лишить законной силы целый ряд ключей, которые находятся в определенном пространстве имен. Это достигается с помощью чего-то вроде увеличения значения ключа пространства имен, и любые ключи, ссылающиеся на предыдущее значение пространства имен, не будут совпадать при регенерации ключа.
Ваша проблема выглядит немного иначе, но я думаю, что установив Key A в пространство имен Key B", если узел B был недоступен, тогда вычисляется Полный ключ пространства имен * A , например,
"Key A|Key B:<whatever Key B value is>"
вернет false, что позволит вам определить, что B недоступен, и аннулировать поиск в кэше для Ключ A .