Django

Using Redis with Django - Caching Backend

Remarks#

Using django-redis-cache or django-redis are both effective solutions for storing all cached items. While it is certainly possible for Redis to be setup directly as a SESSION_ENGINE, one effective strategy is to setup the caching (as above) and declare your default cache as a SESSION_ENGINE. While this is really the topic for another documentaiton article, its relevance leads to inclusion.

Simply add the following to settings.py:

SESSION_ENGINE = "django.contrib.sessions.backends.cache"

Using django-redis-cache

One potential implementation of Redis as a backend caching utility is the django-redis-cache package.

This example assumes you already have a Redis server operating.

$ pip install django-redis-cache

Edit your settings.py to include a CACHES object (see Django documentation on caching).

CACHES = {
    'default': {
        'BACKEND': 'redis_cache.RedisCache',
        'LOCATION': 'localhost:6379',
        'OPTIONS': {
            'DB': 0,
        }
    }
}

Using django-redis

One potential implementation of Redis as a backend caching utility is the django-redis package.

This example assumes you already have a Redis server operating.

$ pip install django-redis

Edit your settings.py to include a CACHES object (see Django documentation on caching).

CACHES = {
    'default': {
        'BACKEND': 'django_redis.cache.RedisCache',
        'LOCATION': 'redis://127.0.0.1:6379/1',
        'OPTIONS': {
            'CLIENT_CLASS': 'django_redis.client.DefaultClient',
        }
    }
}

This modified text is an extract of the original Stack Overflow Documentation created by the contributors and released under CC BY-SA 3.0 This website is not affiliated with Stack Overflow