I'm working with Magento 1.9.0.1, and every now and again our Redis servers which host the Magento cache, (AWS ElastiCache) will go down. When this happens, Magento fatally errors until Redis is available again.
This might be a difficult question to answer quickly, but what I'm wondering is why can't Magento act like the cache is disabled when it can't connect to Redis, instead of fatally erring?
I'm not aware of any setting or any module that gives Magento this ability, but on the surface it doesn't seem difficult. Magento uses local.xml
to figure out how to connect to the database, and the cache backends. It then connects to the database and looks at the cache options to know whether or not to use the cache. If told by the database to use a given cache, it switches some flag (probably a global variable or the property of a singleton,) and uses the cache backend for the rest of the request. Couldn't Magento be made to turn this back off during that request if a connection error occurs?
A slow site is better than a fatal error.
Edit: Evidently some people don't understand what I'm asking or didn't actually read this post.
Is there a module that will give Magento the ability to function without fatal error when Redis is unavailable, when Redis is being used as the primary cache storage method.
If not, could someone enlighten me on why this isn't possible or is very difficult?