我正在计划我的缓存策略,并且正在研究ESI以查看它是否符合我的需求。

今天,这些问题出现了:

  • 每个include是串行还是并行执行?假设我有以下5种:{% render '...' with {}, {'standalone': true} %}。我知道生成的页面将必须等待所有页面,但是这将花费时间,它是否与最慢的包含类似,还是与所有包含的总和相似?
  • 如果答案是“串行”,是否有办法将其转换为并行?
  • 我最好只对网站的用户特定部分使用Ajax吗?在哪种情况下,您会选择其中一个?
  • 最佳答案

    带有 Varnish 的 ESI 始终串行执行。他们在使用 varnish 3 改进 ESI 方面做了大量工作,但在这方面仍然没有变化。我还记得看到 Varnish 工作人员的一些回应说,该功能在他们的愿望 list 上,但实现起来很棘手。

    为了现在制作并行,我想唯一的选择是自己实现该功能。

    至于 Ajax 与 ESI,我会说断点晚于 5 ESI,只要它们可以由您的后端快速呈现。如果将 Ajax 用于您网站的内容部分,则它总是具有糟糕的 SEO 的缺点。

    关于php - ESI 是阻塞还是非阻塞?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13558127/

    10-11 03:10