google-app-engine caching

¿Detalles sobre el proxy de almacenamiento en caché de Google App Engine?



google-app-engine caching (2)

Algunos de los detalles sería bueno tener respuestas para:

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

Google App Engine debe tener algún tipo de proxy de almacenamiento en caché inverso porque cuando configuro el encabezado de respuesta Cache-Control public, max-age=300 desde uno de mis servlets, las solicitudes subsiguientes al motor de la aplicación aparecen en los registros como este: /testcaching 204 1ms 0cpu_ms 49kb , mientras que las solicitudes no almacenadas en caché aparecen en los registros como: /testcaching 200 61ms 77cpu_ms 49kb .

De todos modos, mi pregunta es: ¿Alguien tiene más detalles sobre este proxy de almacenamiento en caché inverso?


La mejor documentación que he encontrado sobre el proxy de almacenamiento en caché de App Engine es una publicación al grupo de App Engine . Partes relevantes citadas a continuación para la posteridad. Todo el crédito va a Brandon Wirtz:

"Si desea que el almacenamiento en caché de borde funcione, debe asegurarse de haber hecho lo siguiente

  1. Establecer público. Si no lo hace público, nunca se almacenará en caché.
  2. Establecer una edad máxima. Si configura public pero no especifica max-age no se almacenará en caché
  3. Usa una coma. public, max-age=300 funciona bien. Public; max-age=300 Public; max-age=300 no lo hace.
  4. Establecer una edad superior a 60. 61 parece almacenar en caché. 60 no lo hace. Probablemente haya un volumen para la memoria caché en función de la caducidad, pero 61 segundos en los volúmenes que ejecutamos, 61 parece que la memoria caché y 60 nunca lo parecen.
  5. Establecer una edad inferior a 366 días. 364 días parece funcionar. 365 trabaja la mayor parte del tiempo. El 366 nunca parece funcionar. Así que esos tipos de publicaciones de "caducidad nunca" hablan de activos versionados que nunca caducan. Bueno 10 años no es la respuesta correcta.
  6. Caduca con una fecha no parece ayudar, y aparentemente puede evitar el almacenamiento en caché en algunos casos. Creo que esto puede ser un reloj a la deriva. O algo sobre lo delicado que es el analizador sobre el formato de la fecha. Las cosas que funcionan en los navegadores no siempre funcionan correctamente en el edgecache ... (como Semi vs coma)
  7. Establecer tanto Pragma como Cache-Control. Si Pragma no está configurado como Público, entonces el control de caché parece ser ignorado ".