清漆缓存 - 如何仅为主页清除/删除缓存

时间:2012-11-24 20:01:23

标签: drupal caching drupal-7 varnish varnish-vcl

我正在使用Drupal 7最新开发版。

我已经安装了Varnish和Expire模块并进行了设置。他们工作得很好但我有一个关于从清漆中删除缓存的问题。

问题是如何仅为索引(主页)页面删除清除缓存而不删除其他页面的缓存。我看看他的清漆日志,我发现每次Drupal执行命令

时都会删除整个清漆缓存
 ban req.http.host ~ www.cdm.me && req.url ~ "/"

该命令由varnish模块或expire模块执行,它意味着删除home(index)页面的缓存。但正如我所看到的那样是删除了清漆中的所有缓存页面。

如何解决这个问题?如何仅删除主页的缓存?

4 个答案:

答案 0 :(得分:14)

你应该从Drupal调用其他命令:

ban req.http.host ~ www.cdm.me && req.url ~ "^/$"

缓存对整个网站无效,因为正则表达式" /"匹配所有网址

答案 1 :(得分:0)

您也可以

ban req.http.host == www.cdm.me && ban req.url == "/"

答案 2 :(得分:0)

这个Drupal Purge模块会为你做这个吗? https://drupal.org/project/purge

答案 3 :(得分:0)

Varnish HTTP Accelerator Integration模块,它提供了一个非常有用的函数varnish_purge()。

使用此功能清除清漆缓存。