Search code examples
djangodockerredis-cache

Django Redis problem with Docker: InvalidCacheBackendError: No module named 'django.core.cache.backends.redis'


I want to use Redis through docker for the cache but got this error.

django.core.cache.backends.base.InvalidCacheBackendError: Could not find backend 'django.core.cache.backends.redis.RedisCache': No module named 'django.core.cache.backends.redis'

My cache settings are this.

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.redis.RedisCache',
        'LOCATION': 'redis://127.0.0.1:6379',
    }
}

I took them from Django documentation.

I used this command to start a Redis instance in docker.

docker run --name some-redis -d redis

Solution

  • Django introduced the Redis backend in version 4.0. https://docs.djangoproject.com/en/4.1/topics/cache/#redis

    Make sure the the Django version in the docker container is at least 4.0.

    Or if you don't want to upgrade Django, you can use packages such as django-redis.