Развёртывание сайта на Django PostgreSQL Gunicorn Nginx

 Монтаж
Самый простой способ использовать django-redis в вашем проекте - это установить его с помощью pip :

pip install django-redis

 Настроить как кеш-сервер
Чтобы начать использовать django-redis , вы должны изменить настройки кеша Django на что-то вроде этого: 

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

django-redis использует нативную нотацию redis-py для строк подключения, она обеспечивает лучшую совместимость и имеет строку подключения более «стандартным» способом.

Это примеры формата URL

Redis: // [: пароль] @localhost: 6379/0
rediss: // [: пароль] @localhost: 6379/0
UNIX: //? [: пароль] @ / путь / к / socket.sock дБ = 0

Поддерживаются три схемы URL:

  • redis://: создает нормальное соединение через сокет TCP
  • rediss://: создает SSL-сокет TCP-сокета
  • unix:// создает Unix Domain Socket соединение

Есть несколько способов указать номер базы данных:

  • db Вариант строки запроса, например , Redis: // локальный db= 0
  • Если используется схема redis: //, аргумент пути URL, например redis://localhost/0

В некоторых случаях пароль, который вы должны использовать для подключения redis, не является URL-безопасным, в этом случае вы можете его избежать или просто использовать опцию удобства в OPTIONS dict:

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

Убедитесь, что эта опция не перезаписывает пароль в URI, поэтому, если вы установили пароль в URI, эти настройки будут игнорироваться.

Настроить как сессионный бэкэнд
Django может по умолчанию использовать любой кеш-бэкэнд в качестве бэкэнда сеанса, и вы получаете выгоду от этого, используя django-redis в качестве бэкэнда для хранения сеанса без установки каких-либо дополнительных бэкэндов:

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

Тестирование с Джанго-Редисом
django-redis поддерживает настройку основного клиента Redis (см.3.17Подключаемый клиент Redis). Это можно использовать в целях тестирования, например, заменив клиента по умолчанию на mockredis ( https://github.com/locationlabs/mockredis ). Это позволяет вам запускать интеграционные тесты без зависимости от реального сервера Redis.

Если вы хотите сбросить все данные из кэша после теста, добавьте следующие строки в ваш TestCase:

def tearDown(self):
    from django_redis import get_redis_connection
    get_redis_connection("default").flushall()

Далее : Django-Redis : Расширенное использование (часть 1)

17 января 2019 г. 22:24 Теги - # Redis # django Категория - Django Kiwi standing on oval421