Varnish:排除页面部分

Varnish:排除页面部分

有什么方法可以将某些网页部分从缓存中排除?例如,我的主页上有“最近添加”块,每 15 分钟刷新一次。

我知道有类似的东西ESI 功能但不知道我是否走对了方向。如果是,有没有如何实现的例子?

我找到了以下三篇关于 ESI 的文章

  1. 边缘侧包括集成
  2. 在应用程序内部控制 Varnish ESI
  3. 10 分钟内完成边缘涂漆

答案1

ESI 绝对是最佳选择。您基本上需要将网页分成单独的部分,并使用 HTML 中的 ESI 命令将它们包含在内。然后 Varnish 处理 ESI,并将所有部分组合在一起。

唯一的其他方法是使用 Ajax 调用来填充变化的位,并覆盖这些特定调用的缓存时间。

Varnish 本身对此有一些很好的文档: https://www.varnish-cache.org/docs/3.0/tutorial/esi.html

相关内容