Подробности о кэширующем прокси Google App Engine? - PullRequest
18 голосов
/ 16 октября 2010

Google App Engine должен иметь своего рода прокси-сервер обратного кэширования, потому что когда я устанавливаю заголовок ответа Cache-Control public, max-age=300 от одного из моих сервлетов, последующие запросы к движку приложения отображаются в журналах следующим образом: -кэшированные запросы отображаются в журналах как: /testcaching 200 61ms 77cpu_ms 49kb.

В любом случае, мой вопрос: есть ли у кого-нибудь еще подробности об этом обратном кешировании?

Ответы [ 2 ]

20 голосов
/ 30 мая 2012

Лучшая документация о кэшировании прокси в App Engine - это сообщение в группу App Engine .Соответствующие части приведены ниже для потомков.Все заслуги передаются Брэндону Вирцу:

"Если вы хотите, чтобы кэширование сработало, вам нужно убедиться, что вы выполнили следующие действия

  1. Установить публичное. Если вы не установитеpublic, он никогда не будет кэширован.
  2. Установите максимальный возраст. Если вы установите public, но не указали максимальный возраст, он не будет кэшироваться
  3. Используйте запятую. public, max-age=300 отлично работает. Public; max-age=300 нет.
  4. Установите возраст больше 60. Кажется, что кэш 61, а 60 - нет. Вероятно, есть некоторый том, который я буду кэшировать по истечении срока, но 61 секунда приТома, которые мы запускаем, 61, кажется, кэшируются, а 60, кажется, никогда не появляются.
  5. Установите возраст менее 366 дней. Кажется, 364 дня работают. 365 работает большую часть времени. 366, кажется, никогда не работает.те сообщения типа «срок действия никогда не истекает», о которых люди говорят о версионных ресурсах, срок действия которых никогда не истекает. Что ж, 10 лет - это не правильный ответ.некоторые случаи. Я думаю, что это может быть дрейф часов.о том, насколько требователен синтаксический анализатор к формату даты.Вещи, которые работают в браузерах, не всегда работают правильно в пограничном кэше ... (например, "Полу" против запятой)
  6. Установите оба параметра: Pragma и Cache-Control.Если Pragma не установлена ​​как Public, то Cache-Control, похоже, игнорируется. "
6 голосов
/ 18 октября 2010

На некоторые детали было бы неплохо получить ответы:

http://code.google.com/p/googleappengine/issues/detail?id=2258#c3

...