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 相关文章推荐
PHP 高手之路(三)
Oct 09 PHP
php中的MVC模式运用技巧
May 03 PHP
MySQL 日期时间函数常用总结
Jun 12 PHP
php数据结构与算法(PHP描述) 快速排序 quick sort
Jun 21 PHP
php获取淘宝分类id示例
Jan 16 PHP
PHP函数getenv简介和使用实例
May 12 PHP
ThinkPHP的模版中调用session数据的方法
Jul 01 PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
Jul 04 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
Oct 23 PHP
php倒计时出现-0情况的解决方法
Jul 28 PHP
PHP+Ajax异步带进度条上传文件实例
Nov 01 PHP
PHP Swoole异步读取、写入文件操作示例
Oct 24 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 截取字符串 分别适合GB2312和UTF8编码情况
2009/02/12 PHP
PHP 遍历文件实现代码
2011/05/04 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
javascript中定义类的方法详解
2015/02/10 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
去除字符串左右两边的空格(实现代码)
2016/05/12 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
JS轮播图中缓动函数的封装
2020/11/25 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
JS实现评价的星星功能
2017/08/20 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
2018/01/18 Javascript
快速解决vue-cli不能初始化webpack模板的问题
2018/03/20 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
2018/04/18 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
2019/09/13 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
python paramiko模块学习分享
2017/08/23 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
中专自我鉴定范文
2013/10/16 职场文书
总经理司机岗位职责
2014/02/06 职场文书
财务内勤岗位职责
2014/04/17 职场文书
2014大学校园光棍节活动策划书
2014/09/29 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
2014年学校法制宣传日活动总结
2014/11/01 职场文书
2014年基建工作总结
2014/12/12 职场文书
小学英语教师研修感悟
2015/11/18 职场文书
完美解决golang go get私有仓库的问题
2021/05/05 Golang
vue2的 router在使用过程中遇到的一些问题
2022/04/13 Vue.js
Vue OpenLayer测距功能的实现
2022/04/20 Vue.js