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 相关文章推荐
杏林同学录(九)
Oct 09 PHP
PHP读MYSQL中文乱码的解决方法
Dec 17 PHP
使用php来实现网络服务
Sep 15 PHP
PHP动态分页函数,PHP开发分页必备啦
Nov 07 PHP
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
Jun 13 PHP
Window下PHP三种运行方式图文详解
Jun 11 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
Oct 31 PHP
php pthreads多线程的安装与使用
Jan 19 PHP
thinkPHP分页功能实例详解
May 05 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
May 05 PHP
PDO::beginTransaction讲解
Jan 27 PHP
详解Laravel框架的依赖注入功能
May 27 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 smarty模版引擎中的缓存应用
2009/12/02 PHP
处理单名多值表单的详解
2013/06/08 PHP
Laravel 4.2 中队列服务(queue)使用感受
2014/10/30 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
linux下php上传文件注意事项
2016/06/11 PHP
ZendFramework2连接数据库操作实例
2017/04/18 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
2019/07/01 PHP
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
2013/05/14 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
js闭包引起的事件注册问题介绍
2016/03/29 Javascript
纯前端JavaScript实现Excel IO案例分享
2016/08/26 Javascript
NodeJS配置HTTPS服务实例分享
2017/02/19 NodeJs
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
nodeJS与MySQL实现分页数据以及倒序数据
2020/06/05 NodeJs
详解vue-cli项目在IE浏览器打开报错解决方法
2020/12/10 Vue.js
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
wxpython中Textctrl回车事件无效的解决方法
2016/07/21 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
python快速编写单行注释多行注释的方法
2019/07/31 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
美国知名的摄影器材销售网站:Adorama
2017/02/01 全球购物
欧舒丹比利时官网:L’OCCITANE比利时
2017/04/25 全球购物
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
台湾母婴用品购物网站:Infant婴之房
2018/06/15 全球购物
The Hut英国:英国领先的豪华在线百货商店
2019/07/26 全球购物
财务管理专业毕业生求职信范文
2013/09/21 职场文书
青春励志演讲稿
2014/04/29 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
给朋友的道歉短信
2015/05/12 职场文书
紧急迫降观后感
2015/06/15 职场文书
教师师德承诺书2016
2016/03/25 职场文书
Echarts如何重新渲染实例详解
2022/05/30 Javascript