我的任务是为一个相当大的wordpress multisite部署改进页面服务时间。
我正在考虑使用varnish进行内容的全页面缓存,并使用它的ESI功能来包含与用户登录状态相关联的动态内容,还可以通过使用varnish清除列表来处理应用程序中的缓存无效,该列表匹配博客id的自定义标题或包含文章id和/或用户id的一些其他自定义标题。
我想知道是否有人想出了一种方法,通过ESI包含多个页面片段,同时将它们分组到来自后端的单个响应中(例如:我们必须在菜单中显示用户名,并在侧边栏中显示自定义用户小部件,页面的其余部分是静态的,并由varnish缓存。ESI要求我向后端发出两个请求,以便检索两个片段并将它们放在合适的位置,而在后端,我可以轻松地在一次运行中生成这两个片段的HTML代码,并将其返回到varnish进行处理)
发布于 2011-10-15 01:10:57
如果让ESI在一个请求中返回HTML块,并将其封装在某个Javascript逻辑中,从而将各种HTML字符串放在适当的位置,情况会怎样?有点奇怪,但是解决了你的问题,而且应该不会很难实现。
另一个具有较少移动部分的选项是将通过ESI包含的所有HTML块分组在页面中的单个点,例如底部,然后使用CSS将它们绝对定位在页面上的任何位置。
https://stackoverflow.com/questions/7280741
复制相似问题