PHP 清空varnish 缓存的详解(包括指定站点下的)


Posted in PHP onJune 20, 2013

没法清空文件夹内容 只能清空指定链接缓存

<?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;
        }
    }
}
?>

需要注意的是:传入进来的 url是不能带参数的  如:www.baidu.com/?tn=sougou
因为 purge.url 后清空的是 正则表达式 可以改成 www.baidu.com/(.?)sougou 这样就可以了。

当一台varnish 缓存多个站点内容需要清除指定站点URL 或者单纯清除 站点首页时 需使用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;  
        }
}

PHP 相关文章推荐
DISCUZ 论坛管理员密码忘记的解决方法
May 14 PHP
PHP的curl实现get,post和cookie(实例介绍)
Jun 17 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
Mar 12 PHP
PHP遍历文件夹与文件类及处理类用法实例
Sep 23 PHP
ThinkPHP中处理表单中的注意事项
Nov 22 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
Feb 12 PHP
php实现随机生成易于记忆的密码
Jun 19 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
Nov 05 PHP
PHP实现的oracle分页函数实例
Jan 25 PHP
php实现计算百度地图坐标之间距离的方法
May 05 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
详解Laravel制作API接口
May 31 PHP
PHP array_multisort() 函数的深入解析
Jun 20 #PHP
PHP操作MongoDB GridFS 存储文件的详解
Jun 20 #PHP
解析Linux下Varnish缓存的配置优化
Jun 20 #PHP
解析PHP中常见的mongodb查询操作
Jun 20 #PHP
PHP 解决session死锁的方法
Jun 20 #PHP
解析PHP可变函数的经典用法
Jun 20 #PHP
使用PHP求两个文件的相对路径
Jun 20 #PHP
You might like
PHP面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
typecho插件编写教程(五):核心代码
2015/05/28 PHP
php把数组值转换成键的方法
2015/07/13 PHP
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
js定时器怎么写?就是在特定时间执行某段程序
2013/10/11 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
ionic2 tabs使用 Modal底部tab弹出框
2016/12/30 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
xmlplus组件设计系列之列表(4)
2017/04/26 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
angular使用md5,CryptoJS des加密的方法
2019/06/03 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
vue 子组件修改data或调用操作
2020/08/07 Javascript
vue循环中点击选中再点击取消(单选)的实现
2020/09/10 Javascript
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
[01:00:30]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第二场 10.31
2020/11/02 DOTA
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
总结Python中逻辑运算符的使用
2015/05/13 Python
python把数组中的数字每行打印3个并保存在文档中的方法
2018/07/17 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
Django+JS 实现点击头像即可更改头像的方法示例
2018/12/26 Python
Python中包的用法及安装
2020/02/11 Python
基于python获取本地时间并转换时间戳和日期格式
2020/10/27 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
Html5百叶窗效果的示例代码
2017/12/11 HTML / CSS
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
安全生产检讨书
2014/01/21 职场文书
供应链金融服务方案
2014/05/25 职场文书
专业技术人员年度考核评语
2014/12/31 职场文书
入党转正介绍人意见
2015/06/03 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript