5

我最近才开始阅读 Varnish Cache 的功能,以帮助优化我的 PHP 网站的性能。我读到了一个名为 Edge Side Includes 的功能,它似乎让我可以选择构建可以在组件级别缓存的 html 内容小部件。这样一页的动态内容可以有部分页面被缓存,而其他部分不被缓存。

然后我开始研究 Amazon CloudFront,它似乎也提供了页面级缓存功能。但我不清楚 CloudFront 是否提供相当于 Edge Side Includes 的功能。如果可能的话,有人可以为我澄清一下吗?这将影响我构建 PHP 网站的方式。

4

1 回答 1

2

不幸的是,Cloudfront 目前不支持 ESI。

你有三个前进的选择。

  1. 不要在 Cloudfront 中缓存此内容

  2. 缓存但 TTL 较低。例如,在 Cloudfront 中缓存页面,其 TTL 仅为 1-20 分钟,具体取决于您的应用程序需求。

  3. 实施一个后台作业,在某些内容发生更改时使 Cloudfront 缓存无效。请注意,Cloudfront 对可以同时运行的并发失效作业数量有一些限制。即,如果您的内容经常更改,这可能不起作用。在此处阅读有关这些限制的更多信息

更新 您也许可以使用 Cloudflare 以及使用他们的“Workers” Cloudflare Workers 和 ESI来实现 ESI 功能

于 2019-03-05T15:34:54.773 回答