构建无限滚动,便于Varnish缓存

时间:2014-04-16 10:42:03

标签: php ajax apache caching varnish

如你所知,无限滚动会重复ajax请求获取新内容,现在直接点击Apache因为调用是POST,它有Cookie。我们在会话中存储每个访问者的最后显示项目,这就是会话因此为cookie的原因。

我们希望利用Varnish缓存,所以我们希望改进这一点,我们想知道这里有什么选项,因为我们需要没有cookie,没有POST(所以没有用户真正的识别)

2 个答案:

答案 0 :(得分:2)

  

我们在会话中存储每个访客的最后显示项目

您可以将此信息作为查询字符串传递到下一页的网址中。另外,尽量不要使用POST加载下一页,使用GET请求。

答案 1 :(得分:0)

我根据github页面here上提供的示例代码使用无限滚动缓存我们特别需要查看的部分如下...

nextSelector: "div.navigation a:first",
navSelector: "div.navigation",

通过读取链接并获取页面内容来拾取由无限滚动加载的下一个“部分”。

据我所知,它使用jQuery Load Feature,该功能陈述以下内容......

  
    

请求方法

  
     

如果数据作为对象提供,则使用POST方法;除此以外,   假设GET。

因此,大多数标准缓存技术应该可以正常工作。我希望这会有所帮助,虽然我不熟悉清漆,但这应该指向正确的方向。

按照上面的代码,nextselector选择的每个链接都可以包含动态内容的GET参数。