当新代码推送到heroku时是否快速自动清除?

我一直在使用Fastly CDN的一堆静态资产,如图像等,我想用我的JavaScript和CSS,但我很谨慎,它不会更新,如果我推新的代码而这会造成错误。

我知道我可以build立一个系统来自动清除这个东西,但我宁愿不必。 基于一个或两个testing,我有一种感觉,即Heroku检测静态文件的变化,并从快速清除,但我没有看到任何说我可以依靠这个。 有人知道吗?

快速地使用对象的TTL(生存时间)来确定何时从原点重新获取对象。 TTL可以通过代理控制:max-age,Cache-Control:s-maxage | max-age或Expires标题来设置。 如果文件在源端更新,但在Fastly服务器中TTL尚未到期,Fastly将继续为旧内容提供服务。 使用接近实时的清除,您可以通过将purge api调用( https://docs.fastly.com/api/purge )添加到您的应用程序来避免这种情况。 当你推新的代码也发出清除电话。 这将强制在下一个请求中获取新内容。

不,不。 它遵循Cache-Control标题。 您可以使用资产指纹来为您的静态文件命名为哈希码和时间戳,因此每个部署将有一个新的文件名,并自动不在caching中。 我不知道它是如何在Node中工作的,但是它是如何在Rails和Yii中工作的:

http://guides.rubyonrails.org/asset_pipeline.html#what-is-fingerprinting-and-why-should-i-care-questionmark

http://www.yiiframework.com/doc-2.0/guide-structure-assets.html#cache-busting

这就是Fastly所说的

https://devcenter.heroku.com/articles/fastly#expired-assets