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
模拟SQLSERVER的两个函数:dateadd(),datediff()
Oct 09 PHP
global.php
Dec 09 PHP
PHP Document 代码注释规范
Apr 13 PHP
php懒人函数 自动添加数据
Jun 28 PHP
PHP函数addslashes和mysql_real_escape_string的区别
Apr 22 PHP
PHP的preg_match匹配字符串长度问题解决方法
May 03 PHP
PHP+javascript制作带提示的验证码源码分享
May 28 PHP
PHP原生函数一定好吗?
Dec 08 PHP
Symfony2实现从数据库获取数据的方法小结
Mar 18 PHP
PHP ADODB实现事务处理功能示例
May 25 PHP
Thinkphp 框架扩展之应用模式实现方法分析
Apr 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 验证图片生成函数
2009/05/21 PHP
javascript 变量作用域 代码分析
2009/06/26 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
js中function()使用方法
2013/12/24 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
2015/04/06 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
JS 封装父页面子页面交互接口的实例代码
2019/06/25 Javascript
使用layer弹窗,制作编辑User信息页面的方法
2019/09/27 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
解决python2.7 查询mysql时出现中文乱码
2016/10/09 Python
浅谈flask源码之请求过程
2018/07/26 Python
强悍的Python读取大文件的解决方案
2019/02/16 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
2019/08/24 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
英国领先的在线高尔夫设备零售商:Golfgeardirect
2020/12/11 全球购物
数组越界问题
2015/10/21 面试题
私有程序集与共享程序集有什么区别
2013/04/05 面试题
自我鉴定200字
2013/10/28 职场文书
采购部岗位职责
2013/11/24 职场文书
关于礼仪的演讲稿
2014/01/04 职场文书
文科毕业生自荐书范文
2014/04/17 职场文书
副处级干部考察材料
2014/05/17 职场文书
幼儿园标语大全
2014/06/19 职场文书
文秘应届生求职信
2014/07/05 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书
教师学期末个人总结
2015/02/13 职场文书
会议室管理制度范本
2015/08/06 职场文书
PHP实现rar解压读取扩展包小结
2021/06/03 PHP
Python turtle实现贪吃蛇游戏
2021/06/18 Python
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python