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下使用SMTP发邮件的代码
Jan 10 PHP
php网上商城购物车设计代码分享
Feb 15 PHP
php pki加密技术(openssl)详解
Jul 01 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
May 04 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
Nov 03 PHP
php实现mysql数据库分表分段备份
Jun 18 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
PHP获取二叉树镜像的方法
Jan 17 PHP
CentOS7编译安装php7.1的教程详解
Apr 18 PHP
PHP文件上传小程序 适合初学者学习!
May 23 PHP
PHP字符串与数组处理函数用法小结
Jan 07 PHP
浅析PHP中的 inet_pton 网络函数
Dec 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
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
用javascript实现给图片加链接
2007/08/15 Javascript
jquery 插件 web2.0分格的分页脚本,可用于ajax无刷新分页
2008/12/25 Javascript
extjs fckeditor集成代码
2009/05/10 Javascript
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
一个支付页面DEMO附截图
2014/07/22 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
2014/09/06 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
javascript数组去重常用方法实例分析
2017/04/11 Javascript
js实现本地图片文件拖拽效果
2017/07/18 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
Echarts基本用法_动力节点Java学院整理
2017/08/11 Javascript
JS实现简单的星期格式转换功能示例
2018/07/23 Javascript
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
详解vue-cli+es6引入es5写的js(两种方法)
2019/04/19 Javascript
Vue 中可以定义组件模版的几种方式
2019/08/06 Javascript
Vue实现开心消消乐游戏算法
2019/10/22 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
Python数据结构之单链表详解
2017/09/12 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
canvas之万花筒效果的简单实现(推荐)
2016/08/16 HTML / CSS
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
2014/05/07 HTML / CSS
团日活动总结
2014/04/28 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
公司欠款证明
2015/06/24 职场文书
大学军训通讯稿
2015/07/18 职场文书
2016教师校本培训心得体会
2016/01/08 职场文书
Python list去重且保持原顺序不变的方法
2021/04/03 Python
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android