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
PHP实现分页的一个示例
Oct 09 PHP
PHP脚本数据库功能详解(中)
Oct 09 PHP
ThinkPHP基本的增删查改操作实例教程
Aug 22 PHP
封装ThinkPHP的一个文件上传方法实例
Oct 31 PHP
Laravel框架实现发送短信验证功能代码
Jun 06 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
Jun 22 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
php中通用的excel导出方法实例
Dec 30 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
Jan 22 PHP
PHP标准库 (SPL)――Countable用法示例
Jun 05 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脚本的10个技巧(3)
2006/10/09 PHP
PHP 处理TXT文件(打开/关闭/检查/读取)
2013/05/13 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
session 加入redis的实现代码
2016/07/15 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
JavaScript 动态生成方法的例子
2009/07/22 Javascript
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
使用js画图之饼图
2015/01/12 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
2017/04/21 Javascript
jQuery ajax读取本地json文件的实例
2017/10/31 jQuery
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
Vue表单之v-model绑定下拉列表功能
2019/05/14 Javascript
详解小程序云开发数据库
2019/05/20 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
2019/07/09 Javascript
利用Python为iOS10生成图标和截屏
2016/09/24 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
人机交互程序 python实现人机对话
2017/11/14 Python
python将字符串以utf-8格式保存在txt文件中的方法
2018/10/30 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
python如何处理程序无法打开
2020/06/16 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
2021/02/22 Python
工业自动化专业毕业生推荐信
2013/11/18 职场文书
幼儿园元旦亲子活动方案
2014/02/17 职场文书
党的群众路线教育实践活动宣传标语口号
2014/06/06 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
西柏坡观后感
2015/06/08 职场文书
初中信息技术教学反思
2016/02/16 职场文书
python3+PyQt5+Qt Designer实现界面可视化
2021/06/10 Python
详解Python如何批量采集京东商品数据流程
2022/01/22 Python
Python列表的索引与切片
2022/04/07 Python