Как проверить кеширование Django? - PullRequest
17 голосов
/ 07 декабря 2008

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

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

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

Ответы [ 4 ]

20 голосов
/ 08 декабря 2008

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

<!-- 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)

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

16 голосов
/ 06 апреля 2011

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

 <!-- {% now "jS F Y H:i" %} --> 
8 голосов
/ 08 декабря 2008

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

2 голосов
/ 08 декабря 2008

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

...