Продвинутый Django 5 для продолжающих

Прогресс по курсу:  0/193

10.2 Виды кэша в Django
4 из 4 шагов пройдено

Использование кэш-фреймворка Django


Обработка HTTP-запросов к веб-приложению обычно влечет за собой доступ к базе данных, манипулирование данными и прорисовку шаблона. Это намного дороже с точки зрения обработки, чем просто раздача статического веб-сайта.

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

Кэширование запросов, результатов вычислений или прорисованного содержимого в HTTP-запросе позволяет избегать дорогостоящих операций в последующих запросах, которые должны возвращать те же данные. Это приводит к сокращению времени отклика и уменьшению объема обработки на стороне сервера.

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

Элементы хранятся в системе кэширования в течение предустановленного времени, при этом при кэшировании данных можно указывать тайм-аут.


Ниже приведено типовое применение кэш-фреймворка, когда приложение обрабатывает HTTP-запрос:

  1. Попытаться найти запрошенные данные в кэше.
     
  2. Если они найдены, то вернуть кэшированные данные.
     
  3. Если они не найдены, то выполнить следующие действия:
    1. выполнить запрос к базе данных либо обработку, необходимые для генерирования данных;
    2. сохранить сгенерированные данные в кэше;
    3. вернуть данные.


Подробную информацию о встроенной в Django системе кэширования можно найти на странице https://docs.djangoproject.com/en/4.2/topics/cache/.


Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Оставить комментарий
Нет обсуждений. Начните первое.