A fault-tolerant pylibmc cache backend for Django
By default, a failed cache operation in Django is fatal and will raise a 500
error. In some cases, this might not be desirable behavior. This cache
backend will catch failures and log them, but not raise an exception. A
cache get
that fails will appear to be a miss to the application.
pip install pylibmc django-ft-cache
Replace the existing pylibmc cache backend in your settings with
'django_ft_cache.FaultTolerantPyLibMCCache'
. For example:
CACHES = {
'default': {
'BACKEND': 'django_ft_cache.FaultTolerantPyLibMCCache',
'LOCATION': ['127.0.0.1:11211'],
},
}
If you are already using a custom cache backend, a mixin is provided that
should add this capability: django_ft_cache.FaultTolerantCacheMixin
.