我最近才开始阅读Varnish Cache的功能,以帮助优化我的PHP网站的性能。我读到了一个名为Edge Side Includes的功能,它似乎让我可以选择构建可以在组件级别缓存的html内容的小部件。因此,单页动态内容可以缓存页面的一部分,而不缓存其他部分。
然后我开始研究Amazon CloudFront,它似乎也提供了页面级缓存功能。但是,如果CloudFront提供相当于Edge Side Includes的功能,我并不清楚。有人可以为我澄清这是否可能?这会影响我构建PHP网站的方式。
答案 0 :(得分:0)
很遗憾,Cloudfront目前不支持ESI。
您有三个前进的选择。
不要在Cloudfront中缓存此内容
缓存,但TTL低。例如。根据您的应用程序需求,在Cloudfront中以TTL仅1-20分钟的速度缓存页面。
实施一个backgrund作业,该作业将在更改某些内容时使Cloudfront缓存无效。请注意,Cloudfront对于可以同时运行的并发无效作业有一些限制。即如果您的内容经常更改,则可能不起作用。 Read more about these limits here。
更新 您可以使用Cloudflare以及使用其“工作者” Cloudflare Workers and ESI
来实现ESI功能。