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

 更新时间:2013年06月20日 17:32:06   作者:  
本篇文章是对清空varnish的缓存(包括指定站点下的)进行了详细的分析介绍,需要的朋友参考下
没法清空文件夹内容 只能清空指定链接缓存
复制代码 代码如下:

<?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中计算字符串相似度的函数代码

    在php计算字符串相似度similar_text与相似度levenshtein函数的详细介绍,下面我们详细的介绍一下关于字符串相似度介绍
    2012-12-12
  • Ubuntu12下编译安装PHP5.3开发环境

    Ubuntu12下编译安装PHP5.3开发环境

    本文给大家分享的是在Ubuntu12下编译安装PHP5.3开发环境的方法和步骤,十分的细致,推荐给大家,有需要的小伙伴们可以参考下。
    2015-03-03
  • php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)

    php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)

    这篇文章主要介绍了php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手),本文也是学习PHP语言的第一个程序:helloworld,需要的朋友可以参考下
    2015-06-06
  • php提高网站效率的技巧

    php提高网站效率的技巧

    随着国内PHP开发的兴起,代码优化成了老生常谈的话题了。作者本人时不时也会跑到CSDN坛论与人交流交流有交PHP开发和优化问题,这也是可以使自身快速提高的方法。
    2015-09-09
  • PHP实现全角字符转为半角方法汇总

    PHP实现全角字符转为半角方法汇总

    这篇文章主要给大家汇总介绍了PHP实现全角字符转为半角方法,从简单到复杂,小伙伴们根据自己的需求来自由选择吧。
    2015-07-07
  • PHP中的float类型使用说明

    PHP中的float类型使用说明

    使用PHP的float类型需要注意的是:PHP的float类型的精度有点问题。如果需要高精度的数学计算,可以使用php提供的专用的数学函数 arbitrary precision math functions系列和gmp系列函数。
    2010-07-07
  • php将字符串转换为数组实例讲解

    php将字符串转换为数组实例讲解

    在本篇文章里小编给大家分享的是关于php将字符串转换为数组实例讲解,需要的朋友们可以学习下。
    2020-05-05
  • PHP学习之数组的定义和填充

    PHP学习之数组的定义和填充

    先了解一下数组,数组就是把一组数据按顺序放在一起。PHP的数组和其它的语言数组有一点点不同:第一,保存的数据是可以是任何类型的;第二,数组的索引可以是数字,也可以是字符串。
    2011-04-04
  • PHP实现的一致性HASH算法示例

    PHP实现的一致性HASH算法示例

    这篇文章主要介绍了PHP实现的一致性HASH算法,结合具体实例形式分析了hash算法的具体定义与使用技巧,需要的朋友可以参考下
    2018-03-03
  • PHP实现接收二进制流转换成图片的方法

    PHP实现接收二进制流转换成图片的方法

    这篇文章主要介绍了PHP实现接收二进制流转换成图片的方法,结合实例形式分析了php文件、目录及图形操作的相关技巧,需要的朋友可以参考下
    2017-01-01

最新评论