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 相关文章推荐
第六节 访问属性和方法 [6]
Oct 09 PHP
PHP禁止页面缓存的代码
Oct 23 PHP
php生成缩略图示例代码分享(使用gd库实现)
Jan 20 PHP
浅析PHP的静态成员函数效率更高的原因
Jun 13 PHP
跟我学Laravel之快速入门
Oct 15 PHP
PHP页面实现定时跳转的方法
Oct 31 PHP
PHP简单实现断点续传下载的方法
Sep 25 PHP
smarty高级特性之对象的使用方法
Dec 25 PHP
简单谈谈PHP中strlen 函数
Feb 27 PHP
10个对初学者非常有用的PHP技巧
Apr 06 PHP
降低PHP Redis内存占用
Mar 23 PHP
php数值转换时间及时间转换数值用法示例
May 18 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/09/27 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
原生JavaScript生成GUID的实现示例
2014/09/05 Javascript
jQuery实现contains方法不区分大小写的方法
2015/02/13 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
2016/11/09 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
2017/10/16 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
2018/02/03 Javascript
使用vue制作探探滑动堆叠组件的实例代码
2018/03/07 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
2018/08/06 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
脚手架vue-cli工程webpack的基本用法详解
2018/09/29 Javascript
详解微信小程序中组件通讯
2018/10/30 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
用vue写一个日历
2020/11/02 Javascript
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
python 中的列表解析和生成表达式
2011/03/10 Python
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
自己使用总结Python程序代码片段
2015/06/02 Python
python验证码识别教程之利用投影法、连通域法分割图片
2018/06/04 Python
Python不使用int()函数把字符串转换为数字的方法
2018/07/09 Python
python读取并写入mat文件的方法
2019/07/12 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
中国最大的团购网站:聚划算
2016/09/21 全球购物
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
物业经理自我鉴定
2014/03/03 职场文书
倡议书的格式写法
2015/04/28 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
在pycharm中无法import所安装的库解决方案
2021/05/31 Python
原生JavaScript实现简单五子棋游戏
2021/06/28 Javascript