2

我对清漆清除有疑问:

我们的应用程序非常动态。因此,对象 A 上的事件将生成 10.000 次清除,因为对象 A 信息存在于所有页面中。

对象 A 是统计卖家,页面是广告页面。

我们通过使用 curl 对 php 代码中的清漆进行异步 http PURGE 调用来管理它。

所以我们将有 10000 个 http 调用无法计算 url(所以 REgex 不是选项)

我想问你们,清漆有没有可能做一些批量清除(HTTP接口)?

如果没有,当模型和事件对您的页面有很大影响时,您在一个非常动态的应用程序中测试和工作的选项是什么。

在此先感谢纳比尔

4

1 回答 1

2

进行清除varnishadm将是您最好的选择。您可以通过 SSH 隧道命令(假设您正在处理远程 Varnish 服务器)或允许从您的 Web 服务器远程访问 Varnish 服务器。

您可以轻松编写自己的 shell 脚本来运行批处理清除,varnishadm或者您可以查看Thinner,这是一个基于 Ruby 的清除器,可以完全按照您的要求进行操作。

您很可能已经考虑过的显而易见的替代方法是重新编写您的应用程序以在 URL 或自定义标头(例如)中包含对象 AX-Object: A,因此您可以根据该标头执行禁令:

sub vcl_recv {
  if (req.request == "BAN") {
    ban("obj.http.x-object == " +  req.http.x-object);
  }
}
于 2013-03-17T10:18:39.070 回答