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 多个submit提交表单 处理方法
Jul 07 PHP
GBK的页面输出JSON格式的php函数
Feb 16 PHP
调整优化您的LAMP应用程序的5种简单方法
Jun 26 PHP
网页上facebook分享功能具体实现
Jan 26 PHP
Drupal7中常用的数据库操作实例
Mar 02 PHP
php实现建立多层级目录的方法
Jul 19 PHP
PHP中创建图像并绘制文字的例子
Nov 19 PHP
PHP实现无限极分类图文教程
Nov 25 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 PHP
深入理解PHP原理之执行周期分析
Jun 01 PHP
php7 安装yar 生成docker镜像
May 09 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 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制作的中文拼音首字母工具类
2014/12/11 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
PhpSpreadsheet设置单元格常用操作汇总
2020/11/13 PHP
javascript延时重复执行函数 lLoopRun.js
2007/06/29 Javascript
prototype Element学习笔记(Element篇三)
2008/10/26 Javascript
js 获取class的元素的方法 以及创建方法getElementsByClassName
2013/03/11 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
jQuery实现ajax无刷新分页页码控件
2017/02/28 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
2017/03/03 Javascript
Vue 2.0 服务端渲染入门介绍
2017/03/29 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
Angular17之Angular自定义指令详解
2018/01/21 Javascript
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
使用zrender.js绘制体温单效果
2019/10/31 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
vue项目中自定义video视频控制条的实现代码
2020/04/26 Javascript
简单文件操作python 修改文件指定行的方法
2013/05/15 Python
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
python实现彩色图转换成灰度图
2019/01/15 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
对Django外键关系的描述
2019/07/26 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
python3列表删除大量重复元素remove()方法的问题详解
2021/01/04 Python
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
你的自行车健身专家:FaFit24
2016/11/16 全球购物
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
应聘医药代表职位求职信
2013/10/21 职场文书
会计自荐书
2013/12/02 职场文书
大学生毕业自我鉴定范文
2014/02/03 职场文书
授权委托书格式模板
2014/04/03 职场文书
幼师求职信
2014/06/23 职场文书
小学毕业感言200字
2015/07/30 职场文书
创业计划书之酒吧
2019/12/02 职场文书