代码之家  ›  专栏  ›  技术社区  ›  Andy Hume

google是否显示缓存外部请求?

  •  3
  • Andy Hume  · 技术社区  · 15 年前

    我在appengine上运行了一个非常简单的应用程序,它每五分钟请求一个网页,并解析特定的数据块。

    除了从外部请求(使用URLLIB2)得到的响应没有反映出对页面的最新更改之外,一切都可以正常工作。有时需要几分钟才能得到最新的信息,有时需要一个多小时。

    是否有一个透明的缓存层出现在引擎中?或者这里还缺什么东西?我已经查看了请求页面的缓存头,并且没有发送过期、上次修改或etags头。

    更新: 有时,它会为一些请求获取页面的新版本,然后随机地在以后获取过时的旧版本。

    1 回复  |  直到 15 年前
        1
  •  8
  •   apg    15 年前

    这似乎是应用程序引擎的一个问题 team is aware of . 建议的解决方法是以秒为单位设置缓存控制头的最大期限:

    result = urlfetch.fetch(url, headers = {'Cache-Control' : 'max-age=240'})
    

    希望能为你工作。