Как использовать кеш-контроль с python в GAE? - PullRequest
1 голос
/ 18 декабря 2011

Я выбираю, включать ли заголовок кэша и какую разницу он будет иметь. Текущий код таков, и мне интересно, должен ли я включить кэширование и что он будет делать?

#seconds_valid = 8600
#self.response.headers['Cache-Control'] = "public, max-age=%d" % seconds_valid

self.response.headers['Cache-Control'] = 'no-cache'

Могу ли я проверить, в чем разница, если я изменю код на этот

seconds_valid = 8600
self.response.headers['Cache-Control'] = "public, max-age=%d" % seconds_valid

Я делаю это правильно? Что именно произойдет, когда я включу кеш? Смогу ли я обновить страницу?

Спасибо

Ответы [ 2 ]

4 голосов
/ 19 декабря 2011

Существует также кэширование обратного прокси / грани AppEngine, которое может забрать ваш заголовок Cache-Control, если ему присвоено значение max-age и установлено значение public, как в вашем примере. Кэширование краев - это «лучшее усилие», то есть оно не на 100% уверено, что оно кеширует ваш ответ.

Более подробную информацию можно найти здесь и здесь .

0 голосов
/ 18 декабря 2011

Настройка Cache-Control не будет иметь никакого значения для вашего приложения.Это значение используется только веб-браузером, кэширование выполняется только на стороне клиента, а не на сервере.Правильные значения для Cache-Control могут снизить нагрузку на сервер и сэкономить пропускную способность, поскольку пользовательские агенты будут пытаться кэшировать контент локально, но это не имеет ничего общего с appengine.

Если вы ищете кэширование на стороне сервера для улучшения откликавремя и уменьшение чтения базы данных смотрите на memcached .Для оптимального использования memcache вам также может понадобиться поискать в Интернете стратегии недействительности кэша.

...