Django Academy · Урок

Серверы кэша и Redis

Настраивайте сервер кэша для рабочего окружения

Урок 1 из 413 шагов

«Серверы кэша и Redis» — бесплатный урок Django Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Django Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Django Academy содержит 4 уроков всего.

Что даёт кэш

Кэш хранит результаты ресурсоёмких операций, чтобы следующий запрос мог пропустить медленную работу и получить ответ почти мгновенно. ⚡

Где располагаются кэши

Django взаимодействует с кэшем через серверную часть — подключаемый адаптер, который определяет, где физически хранятся кэшированные данные.

Параметр CACHES

Кэширование настраивается в словаре CACHES файла settings.py; в нём всегда должен быть ключ default, который Django читает первым.

CACHES = {
    "default": {
        "BACKEND": "django.core.cache.backends.locmem.LocMemCache",
    }
}

Локальная память для разработки

Стандартный LocMemCache хранит данные в памяти Вашего процесса. Для разработки этого достаточно, но данные не будут общими для разных серверов.

Почему в продакшене используют Redis

Для рабочих приложений укажите в качестве серверной части Redis — быстрое хранилище в памяти, которым одновременно могут пользоваться несколько веб-серверов.

Настройка серверной части Redis

Установите для BACKEND значение RedisCache и укажите LOCATION с URL-адресом Вашего сервера Redis.

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

Взаимодействие с кэшем

Импортируйте общий объект кэша из django.core.cache, чтобы читать и записывать значения из любой части кода.

from django.core.cache import cache

set и get

Используйте set, чтобы сохранить значение по ключу, а затем get, чтобы прочитать его в следующем запросе.

cache.set("answer", 42)
value = cache.get("answer")

Время ожидания поддерживает актуальность данных

Третий аргумент set — это время ожидания в секундах. После его истечения ключ становится недействительным, а get возвращает None.

cache.set("answer", 42, 300)

Обработка промахов кэша

Отсутствующий ключ означает промах кэша. Передайте в get значение по умолчанию, чтобы у кода было безопасное запасное значение.

value = cache.get("answer", "none yet")

Существуют и другие серверные части

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

Быстрая проверка

Пора проверить, где обычно располагаются кэши в рабочей среде.

Итоги

Вы познакомились с серверной частью кэша: настроили CACHES, узнали о LocMem в разработке и Redis в продакшене, а также научились устанавливать и получать значения с ограничением времени хранения. 🎉

Можно начать бесплатно

Изучай Python с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Серверы кэша и Redis» бесплатный?

Да — полный текст урока «Серверы кэша и Redis» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Django Academy, подпишись на CoddyKit PRO. Курс Django Academy содержит 4 уроков всего.

Чему я научусь в уроке «Серверы кэша и Redis»?

Настраивайте сервер кэша для рабочего окружения Ты практикуешь Django Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Django Academy?

Предыдущий опыт не требуется. Django Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Серверы кэша и Redis»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Django Academy?

Да. Каждый урок Django Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Серверы кэша и Redis
  2. Кэширование представлений и всего сайта
  3. Кэширование фрагментов шаблонов
  4. Низкоуровневый API кэша и его очистка
← Назад к Django Academy