This is not all that novel. Lots of consistent systems have caches. The standard approach is to let the client decide: do you need a 100% consistent value (very rare) or would you rather set a staleness threshold. If the cache is not sure it is within that threshold (via some feed of invalidations) the read fails and you try another cache server.
There are only two hard things in Computer Science: cache invalidation and naming things.<p>-- Phil Karlton<p>I wonder if naming things is also tied in some way to the CAP theorem, or some other "difficult" tradeoff or mathemtically-hard thing.