Well, just reality... you can't always have the latest data in caches, there's the mechanism of cache miss (vs the cache hits, which are of course more popular, but joking aside...) so a cache asked but not finding something should make it (or you) query the cantral backend and then cache that to update itself.
Is redis or ignite failing for you in that aspect? And what's the actual backend DB and are you perhaps concentrating too much on this one mechanism of caching? There are always multiple ways of optimizing database performance. First off the top of my hat are indexses, materialized views, load balancing, SAN, memory storage engines...