我们应该在哪里处理逻辑上的缓存故障转移

I developed a PHP application with Symfony-2 and I need to handle cache fail-over on my application layer. As an illustrate, imagine you have to take care of performance and you're forced to generate an accurate response in your application. Also, you couldn't have clustered cache for high-availability in your application, so you need to check if the cache connection broke, then you should switch to DB handler and for the first time that you able to consume from the cache, you have to update your cache from the DB.

I'm wondering how could I invalidate my cache and where should I put this logic in my business.