所以一些背景:
我有一个在谷歌应用程序引擎上运行的nodeJS api。默认情况下,应用程序引擎会将我的所有获取请求缓存 10 分钟。
我将 cloudflare 用于我的 API,因为这允许我在需要时从缓存中删除特定项目。
您可以想象这会引起一些问题,因为我的 CF 缓存已正确清除,但应用程序引擎不断返回旧数据。
根据文档,您可以设置默认过期时间 https://cloud.google.com/appengine/docs/standard/nodejs/how-requests-are-handled#response_caching在 app.yaml 文件中,但将其设置为 0 或 0s 没有任何区别,并且谷歌会不断缓存我的响应。
看来,你也无法从谷歌获得未缓存的内容。
现在我明显的问题是:有什么方法可以完全忽略这个缓存吗?最好不必将我的整个 API 的响应设置为 private 0s 缓存。
让我很恼火的是,谷歌强迫我使用这个缓存,提供了关于整个问题的非常模糊的文档。
您可以配置您的app.yaml
定义缓存周期。
如果你使用默认过期时间 https://cloud.google.com/appengine/docs/standard/nodejs/config/appref#default_expiration这将为应用程序的所有静态文件处理程序设置全局默认缓存周期。如果省略,生产服务器默认将过期时间设置为 10 分钟。
要为各个处理程序设置特定的到期时间,请指定过期 https://cloud.google.com/appengine/docs/standard/nodejs/config/appref#handlers_expiration处理程序元素中的元素app.yaml
文件。您可以更改 Web 代理和浏览器缓存此处理程序提供的静态文件的持续时间。
default_expiration: "4d 5h"
handlers:
- url: /stylesheets
static_dir: stylesheets
expiration: "0d 0h"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)