And*_*son 14 google-app-engine caching google-cloud-platform
我遇到了一个已知的AppEngine问题,如果我转到我的应用程序的特定URL,则会缓存错误的静态内容,但是如果我附加一个?foo参数来破坏缓存,则显示正确的静态内容,以及VERSION.myapp. appspot.com也有效.
有没有办法在未修改的URL上显示正确的内容?
我很乐意删除该应用程序并恢复它或任何激烈的东西.该应用程序不是现场,但我需要它在几个小时内.任何可以使这些URL工作的东西,以便与AppEngine应用程序交谈的移动应用程序获得正确的数据.
编辑
cURLing标题,我看到:
HTTP/1.1 200 OK
ETag: "ZN9VxQ"
Date: Tue, 14 Aug 2012 02:00:58 GMT
Expires: Wed, 15 Aug 2012 02:00:58 GMT
Content-Type: text/html
Server: Google Frontend
Cache-Control: public, max-age=86400
Age: 34623
Transfer-Encoding: chunked
Run Code Online (Sandbox Code Playgroud)
我又冲了500秒?无论如何缩短那个?
编辑评论:
在app.yaml中,我有这个处理程序:
- url: /static
static_dir: static
expiration: 1s
Run Code Online (Sandbox Code Playgroud)
我现在尝试删除过期时间:
- url: /static
static_dir: static
Run Code Online (Sandbox Code Playgroud)
我根据文档将其添加到app.yaml的顶部:
default_expiration: "1m"
Run Code Online (Sandbox Code Playgroud)
此外,删除文件不会使我在部署时消失.
Gab*_*nes 10
有一种方法可以缩短您的应用程序在Google Cloud上缓存的静态文件的到期时间。
转到您的Google Cloud Console并打开您的项目。在左侧汉堡菜单下,转到“存储”->“浏览器”。在这里,您应该至少找到一个存储桶:your-project-name.appspot.com。在“生命周期”列下,单击有关your-project-name.appspot.com的链接。删除任何现有规则,因为它们可能与您现在创建的规则冲突。
通过单击“添加规则”按钮来创建新规则。对于对象条件,仅选择“较新版本”选项并将其设置为1。请不要忘记单击“继续”按钮。对于操作,选择“删除”,然后单击“继续”按钮。保存新规则。
这项新规则最多可能需要24小时才能生效,但是至少对于我的项目而言,它只花了几分钟。一旦启动并运行,您的应用程序在your-project-name.appspot.com下提供的文件版本将始终是最新部署的版本,从而解决了该问题。另外,如果您要定期编辑静态文件,则应expiration从与这些静态文件相关的处理程序中删除任何元素,并default_expiration从app.yaml文件中删除该元素,这将有助于避免其他服务器意外缓存。
它取决于使用的缓存控制.检查firebug och chrome检查员并查看设置的失效日期.
如果您已将缓存控件设置为公共,则不会影响控件,因为文件在此过程中会缓存在各种代理和服务器上.
如果您使用缓存控制私有,您应该能够重置浏览器缓存并保持良好状态,但正如您所说,有时您会从Google的生产环境中获取错误的文件.我遇到了同样的问题.最快的解决方案是向加载的文件添加查询参数.
| 归档时间: |
|
| 查看次数: |
6810 次 |
| 最近记录: |