Джанго кеширует с Redis - PullRequest
       41

Джанго кеширует с Redis

0 голосов
/ 27 сентября 2019

Я реализовал кеширование django, используя redis после этого блога: https://realpython.com/caching-in-django-with-redis/

Итак, я следовал этому, установил пакет, добавленный в

CACHES = {
"default": {
    "BACKEND": "redis_cache.RedisCache",
    "LOCATION": "redis://127.0.0.1:8000/",
    "OPTIONS": {
        "CLIENT_CLASS": "django_redis.client.DefaultClient"
    },
    "KEY_PREFIX": "example"
}

}

Затем в представлениях.

from django.conf import settings
from django.core.cache.backends.base import DEFAULT_TIMEOUT
from django.views.decorators.cache import cache_page

CACHE_TTL = getattr(settings, 'CACHE_TTL', DEFAULT_TIMEOUT)

, а затем добавил декоратор для функции

@cache_page(CACHE_TTL)
@login_required_dietitian
def patient_profile(request, id):
    data = {}
    return render(request, 'profile.html', {'data':data})

И тогда я получаю эту ошибку при запуске сервера

redis.exceptions.ConnectionError: Соединение закрыто сервером.

Я новичок в такой технике кэширования, есть предложения по решению этой проблемы?

1 Ответ

0 голосов
/ 27 сентября 2019

В вашей конфигурации указан Redis на порту 8000, Redis по умолчанию работает на порту 6379. Похоже, он пытается подключиться к вашему приложению Django, отсюда и ошибка соединения.Redis работает как отдельный процесс, прослушивая запросы через порт 6379.

...