我的任务是改善相当大的 WordPress 多站点部署的页面服务时间。
我正在考虑使用 varnish 对内容进行整页缓存,并使用其 ESI 功能来包含与用户登录状态相关的动态内容,同时还使用与博客 id 的自定义标头或包含文章 id 和/或用户 id 的其他自定义标头相匹配的 varnish 清除列表来处理应用程序中的缓存失效。
我想知道是否有人想过通过 ESI 包含多个页面片段,同时将它们分组到来自后端的单个响应中(例如,我们必须在菜单中显示用户的名称,并在侧边栏中显示自定义用户小部件,页面的其余部分是静态的并由 varnish 缓存。ESI 要求我向后端发出两个请求以检索两个片段并将它们放置在适当的位置,而在后端,我可以轻松地在一次运行中为两者生成 HTML 代码并将其返回给 varnish 进行处理)