当前位置: 首页 > 知识库问答 >
问题:

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

阳航
2023-03-14

我需要实现喜欢/不喜欢功能(针对匿名用户,因此无需注册)。问题是内容是由清漆提供的,我需要显示喜欢的实际数量。

我想知道像stackoverflow这样的网站是怎么做到的。假设页面缓存在Varnish中(仅针对匿名用户),所以每次用户对答案/问题进行投票时,页面都需要从缓存中清除。我说得对吗?当前投票数需要对其他用户可见。

在这种情况下,什么是好方法?我是否应该在用户每次点击“喜欢”按钮时发送清除以进行清漆处理?


共有1个答案

夏侯渊
2023-03-14

实现这一点的一种常见方法是执行like按钮并用Javascript显示客户端。这稍微避免了这个问题。

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

当然,这里有一个轻微的竞争,在这种情况下,其他客户将被服务于旧页面。

 类似资料:
  • 我使用Drupal 7最新的开发版本。 我已经安装了清漆和过期模块并设置它们。它们工作得很好,但是我有一个关于从清漆中删除缓存的问题。 问题是如何只删除索引(主页)页面的清漆缓存,而不删除其他页面的缓存。我看了清漆日志,发现每次Drupal执行命令时,整个清漆缓存都被删除了 此命令由varnish模块或expire模块执行,它表示删除主页(索引)页的缓存。但正如我看到的,它正在删除varnish中

  • 问题内容: 我想在UITextField上创建自定义清除按钮,即使用rightView并将图像放在此处,问题是将原始的清除按钮事件附加到该自定义rightView上。 在Objective-C中,我可以这样做: 现在如何将其转换为Swift?或任何解决方法? 问题答案: 您可以将自定义按钮添加为类似这样的右视图

  • 所以我尝试着用下面的网址:Website 页面有一些隐藏的文本,点击后解锁。它们的超文本标记语言代码也被隐藏,并在单击按钮后解除隐藏。 我怎样才能把这篇课文删掉? 美丽的汤对这篇文章不起作用。

  • 我有一个简单的javafxgui,上面有一个HBox,它包含几个组合框,最终将充当过滤器。我不知道如何在单击“清除”按钮时将组合框的值重置为空字符串。任何提示都将不胜感激。 更新:这是我的代码,为我工作

  • void clear_cache(string template [, string cache id [, string compile id [, int expire time]]]) This clears the cache for a specific template. If you have multiple caches for this template, you can cl

  • 本文向大家介绍怎样实现每次页面打开时都清除本页缓存?相关面试题,主要包含被问及怎样实现每次页面打开时都清除本页缓存?时的应答技巧和注意事项,需要的朋友参考一下 这样的吗?