We don't want our websites to be down because the cache backend used, e.g. "redis" or "memcached" has a temporary issue. Instead, the page should be loaded, but trigger warnings and errors and such, but still render a page without active caches.
For this reason, we provide Cache Backends which simply catch all Exceptions.
We use this for High Availability projects, where a Redis sentinel cluster is not available but a Redis service is running on each application server to ensure that TYPO3 does never throw a 50x HTTP error because of a caching issue.
When running TYPO3 in Composer Mode composer req b13/graceful-cache
or
download the extension "graceful_cache" via the Extension Manager
from extensions.typo3.org.
Use this in your LocalConfiguration.php or AdditionalConfiguration.php to e.g. reconfigure the "pages" Cache (or "cache_pages" prior to TYPO3 v10) to run with the graceful Redis Cache Backend:
$GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['pages']['backend'] = \B13\GracefulCache\Backend\RedisCacheBackend::class;
Or configure with Memcached Cache Backend:
$GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['pages']['backend'] = \B13\GracefulCache\Backend\MemcachedCacheBackend::class;
The extension is licensed under GPL v2+, same as the TYPO3 Core. For details see the LICENSE file in this repository.
This extension was created by Benni Mack in 2020 for b13 GmbH.
Find more TYPO3 extensions we have developed that help us deliver value in client projects. As part of the way we work, we focus on testing and best practices to ensure long-term performance, reliability, and results in all our code.