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 email邮箱正则
Oct 08 PHP
php smarty模版引擎中的缓存应用
Dec 02 PHP
php XMLWriter类的简单示例代码(RSS输出)
Sep 30 PHP
PHP动态分页函数,PHP开发分页必备啦
Nov 07 PHP
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
Jun 17 PHP
Yii操作数据库的3种方法
Mar 11 PHP
php实现window平台的checkdnsrr函数
May 27 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
Apr 02 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
May 20 PHP
PHP简单计算两个时间差的方法示例
Jun 20 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
Laravel框架实现的rbac权限管理操作示例
Jan 16 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
Linux下进行MYSQL编程时插入中文乱码的解决方案
2007/03/15 PHP
php5新改动之短标记启用方法
2008/09/11 PHP
php中smarty实现多模版网站的方法
2015/06/11 PHP
Yii开启片段缓存的方法
2016/03/28 PHP
laravel 错误处理,接口错误返回json代码
2019/10/25 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
Array.prototype 的泛型应用分析
2010/04/30 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
2014/05/27 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
常用jQuery代码分享
2015/07/14 Javascript
JavaScript必知必会(二) null 和undefined
2016/06/08 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
2016/08/09 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
JS一次前端面试经历记录
2020/03/19 Javascript
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
2019/07/11 Python
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
python 监测内存和cpu的使用率实例
2019/11/28 Python
Python对象的属性访问过程详解
2020/03/05 Python
python 基于卡方值分箱算法的实现示例
2020/07/17 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
Python中生成ndarray实例讲解
2021/02/22 Python
荷兰优雅女装网上商店:Heine
2016/11/14 全球购物
行政总监岗位职责
2013/12/05 职场文书
运动会开幕式解说词
2014/02/05 职场文书
护士求职信范文
2014/05/24 职场文书
授权委托书
2014/07/31 职场文书
诚实守信道德模范事迹材料
2014/08/15 职场文书
个人剖析材料范文
2014/09/30 职场文书
房租涨价通知
2015/04/23 职场文书
单位政审意见范文
2015/06/04 职场文书
党校培训学习心得体会
2016/01/06 职场文书
《夜莺的歌声》教学反思
2016/02/22 职场文书
MySQL 外连接语法之 OUTER JOIN
2022/04/09 MySQL
java获取一个文本文件的编码(格式)信息
2022/09/23 Java/Android