PHP 清空varnish 緩存的詳解(包括指定站點(diǎn)下的)
更新時間:2013年06月20日 17:32:06 作者:
本篇文章是對清空varnish的緩存(包括指定站點(diǎn)下的)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
沒法清空文件夾內(nèi)容 只能清空指定鏈接緩存
<?php
function clearVarnish($ip,$url,$host=null){
$errstr = '';
$errno = '';
$varnist_arr = isset($host) ? $host : C('VARNISH_LIST');
foreach ($varnist_arr as $v){
$fp = fsockopen ($ip, 2000, $errno, $errstr, 2);
if (!$fp) {
return false;
} else {
$out = "purge.url $url \r\n";
fputs ($fp, $out);
$out = fgets($fp , 4096);
fclose ($fp);
return $out;
}
}
}
?>
需要注意的是:傳入進(jìn)來的 url是不能帶參數(shù)的 如:www.baidu.com/?tn=sougou
因?yàn)?purge.url 后清空的是 正則表達(dá)式 可以改成 www.baidu.com/(.?)sougou 這樣就可以了。
當(dāng)一臺varnish 緩存多個站點(diǎn)內(nèi)容需要清除指定站點(diǎn)URL 或者單純清除 站點(diǎn)首頁時 需使用purge 而不是purge.url
function varnish_purge($ip, $host='', $url) {
$errstr = '';
$errno = '';
$fp = fsockopen ($ip, 2000, $errno, $errstr, 2);
if (!$fp) {
return $errno;
}else {
if(!empty($host)){
$out = "purge req.http.host == {$host} && req.url ~ ^/$ \r\n";
}else{
$out = " purge.url {$url} \r\n";
}
fputs ($fp, $out);
$out = fgets($fp , 4096);
fclose ($fp);
return $out;
}
}
復(fù)制代碼 代碼如下:
<?php
function clearVarnish($ip,$url,$host=null){
$errstr = '';
$errno = '';
$varnist_arr = isset($host) ? $host : C('VARNISH_LIST');
foreach ($varnist_arr as $v){
$fp = fsockopen ($ip, 2000, $errno, $errstr, 2);
if (!$fp) {
return false;
} else {
$out = "purge.url $url \r\n";
fputs ($fp, $out);
$out = fgets($fp , 4096);
fclose ($fp);
return $out;
}
}
}
?>
需要注意的是:傳入進(jìn)來的 url是不能帶參數(shù)的 如:www.baidu.com/?tn=sougou
因?yàn)?purge.url 后清空的是 正則表達(dá)式 可以改成 www.baidu.com/(.?)sougou 這樣就可以了。
當(dāng)一臺varnish 緩存多個站點(diǎn)內(nèi)容需要清除指定站點(diǎn)URL 或者單純清除 站點(diǎn)首頁時 需使用purge 而不是purge.url
復(fù)制代碼 代碼如下:
function varnish_purge($ip, $host='', $url) {
$errstr = '';
$errno = '';
$fp = fsockopen ($ip, 2000, $errno, $errstr, 2);
if (!$fp) {
return $errno;
}else {
if(!empty($host)){
$out = "purge req.http.host == {$host} && req.url ~ ^/$ \r\n";
}else{
$out = " purge.url {$url} \r\n";
}
fputs ($fp, $out);
$out = fgets($fp , 4096);
fclose ($fp);
return $out;
}
}
您可能感興趣的文章:
- IIS 配置PHP站點(diǎn)的說明
- PHP 配置open_basedir 讓各虛擬站點(diǎn)獨(dú)立運(yùn)行
- phpmyadmin中為站點(diǎn)設(shè)置mysql權(quán)限的圖文方法
- PHP動態(tài)創(chuàng)建Web站點(diǎn)的方法
- php控制linux服務(wù)器常用功能 關(guān)機(jī) 重啟 開新站點(diǎn)等
- PHP中對緩沖區(qū)的控制實(shí)現(xiàn)代碼
- IIS7,IIS7.5 升級PHP5.3后站點(diǎn)變慢的解決方法
- PHP實(shí)現(xiàn)對站點(diǎn)內(nèi)容外部鏈接的過濾方法
- PHP正則表達(dá)式替換站點(diǎn)關(guān)鍵字鏈接后空白的解決方法
- 刷新PHP緩沖區(qū)為你的站點(diǎn)加速
相關(guān)文章
PHP接收json 并將接收數(shù)據(jù)插入數(shù)據(jù)庫的實(shí)現(xiàn)代碼
這篇文章主要介紹了PHP接收json 并將接收數(shù)據(jù)插入數(shù)據(jù)庫的實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-12-12PHP實(shí)現(xiàn)二維數(shù)組按某列進(jìn)行排序的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)二維數(shù)組按某列進(jìn)行排序的方法,結(jié)合實(shí)例形式分析了php二維數(shù)組排序的技巧,涉及array_multisort函數(shù)的使用方法,需要的朋友可以參考下2016-11-11php 類中的常量、靜態(tài)屬性、非靜態(tài)屬性的區(qū)別
這篇文章主要介紹了php 類中的常量、靜態(tài)屬性、非靜態(tài)屬性的區(qū)別與介紹,需要的朋友可以參考下2017-04-04簡單的cookie計(jì)數(shù)器實(shí)現(xiàn)源碼
本篇文章是對一個簡單的cookie計(jì)數(shù)器的實(shí)現(xiàn)源碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06ajax php 實(shí)現(xiàn)寫入數(shù)據(jù)庫
看到同學(xué)背詞用的生詞本,覺得很不錯.正好自己也在看書,為了有一個好的效果,于是想做一個類似生詞本的,可以存知識點(diǎn),和查看知識點(diǎn)的.2009-09-09PHP創(chuàng)建文件,并向文件中寫入數(shù)據(jù),覆蓋,追加的實(shí)現(xiàn)代碼
這篇文章主要介紹了PHP創(chuàng)建文件,并向文件中寫入數(shù)據(jù),覆蓋,追加的實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-03-03