Varnish(Turpentine):在Magento冲洗之前重新加载页面

时间:2016-07-12 10:41:34

标签: php magento caching varnish magento-1.8

Magento 1.8中的清漆非常快。 问题是刷新缓存中的页面。

例如: 如果索引页面上的内容发生了变化,我可以使用此命令刷新:

Mage::getModel('turpentine/varnish_admin')->flushUrl("^/$");

然后这个脚本将页面重新加载到缓存中:

$header[0] = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; 
$header[] = "Accept-Language: de,en-US;q=0.7,en;q=0.3"; 
$header[] = "Cache-Control: max-age=0"; 
$header[] = "Connection: keep-alive"; 
$header[] = "Keep-Alive: 300"; 
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"; 

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $url); 
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0'); 
curl_setopt($curl, CURLOPT_HTTPHEADER, $header); 
curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate'); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($curl);
curl_close($curl);

它正在运行,但是当没有缓存时,包含很多产品的索引页面非常慢。因此,每个用户在重新加载期间都会看到这个慢速页面。

这个问题有解决办法吗?是否可以在刷新之前重新加载页面?

1 个答案:

答案 0 :(得分:0)

您需要实施Grace Mode(在重新验证时也称为陈旧)。

在您的情况下,在您发出刷新请求后,它将允许Varnish提供索引页面的陈旧副本。

  

宽限期模式是一种缓解线程堆积的功能,它允许Varnish在后端无法执行请求时继续提供请求。

...或慢