清漆:每次用户点击“喜欢”按钮时清除缓存

时间:2016-03-17 11:44:46

标签: caching varnish

我需要实现喜欢/不喜欢的功能(对于匿名用户,所以不需要注册)。问题是内容由Varnish提供,我需要显示实际的喜欢数量。

我想知道它是如何在像stackoverflow这样的网站上完成的。假设页面缓存在Varnish中(仅限匿名用户),因此每次用户对回答/问题进行投票时,都需要从缓存中清除页面。我对吗?当前的投票数需要为其他用户所见。

在这种情况下,有什么好方法?每当用户点击“喜欢”按钮时,我应该将PURGE发送到Varnish吗?

1 个答案:

答案 0 :(得分:1)

实现此功能的常用方法是在Javascript中执行类似按钮并显示客户端。这可以避免这个问题。

假设按下Like导致POST请求命中单个Varnish服务器,您可以以不同方式使对象失效/替换。使用清除和VCL重启很可能是更好的方法。

当然,这里有一场轻微的比赛,其他客户将在旧网页上提供服务。