Серверы кэша и Redis
Настраивайте сервер кэша для рабочего окружения
«Серверы кэша и 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 cacheset и 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 — локальная установка не требуется.
Все уроки этого курса
- Серверы кэша и Redis
- Кэширование представлений и всего сайта
- Кэширование фрагментов шаблонов
- Низкоуровневый API кэша и его очистка