Подтвердить что ты не робот

Как протестировать кэширование django?

Есть ли способ уверен, чтобы страница поступала из кеша на рабочий сервер и на сервер разработки?

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

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

4b9b3361

Ответ 1

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

<!-- component_name {{host}} {{timestamp}} -->

Имя_компонента просто упрощает просмотр источника и поиск этой строки.

Все наши представления, которые являются объектно-подробными страницами, определяют контекстную переменную "page_object", и мы имеем это в верхней части основного шаблона base.html:

<!-- {{page_object.class_id}} @ {{timestamp}} -->

class_id() - это метод из суперкласса, используемый всеми нашими основными классами контента. Это просто:

def class_id(self):
    "%s.%s.%s" % (self.__class__._meta.app_label,
                    self.__class__.__name__, self.id)

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

Ответ 2

Предложение Peter Rowells работает хорошо, но вам не нужен настраиваемый контекстный процессор шаблонов для временных меток. Вы можете просто использовать тег шаблона:

 <!-- {% now "jS F Y H:i" %} --> 

Ответ 3

Откроется представление, нажмите на страницу и посмотрите, был ли вызван макет. если это не так, вместо этого использовался кеш.

Ответ 4

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