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写出自己的BLOG系统 2
Apr 12 PHP
php中的三元运算符使用说明
Jul 03 PHP
php引用地址改变变量值的问题
Mar 23 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
浅析php中如何在有限的内存中读取大文件
Jul 02 PHP
PHP验证码函数代码(简单实用)
Sep 29 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
Jan 07 PHP
PHP实现连接设备、通讯和发送命令的方法
Oct 13 PHP
Yii2单元测试用法示例
Nov 12 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
Jun 06 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
PHP7基于curl实现的上传图片功能
May 11 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保存和输出图片
2006/10/09 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
php打印一个边长为N的实心和空心菱型的方法
2015/03/02 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
Apache连接PHP后无法启动问题解决思路
2015/06/18 PHP
PHP7多线程搭建教程
2017/04/21 PHP
图片按比例缩放函数
2006/06/26 Javascript
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
js实现图片在未加载完成前显示加载中字样
2014/09/03 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
完美实现js选项卡切换效果(一)
2017/03/08 Javascript
vue-cli的eslint相关用法
2017/09/29 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
详解JavaScript的this指向和绑定
2020/09/08 Javascript
Python实现获取操作系统版本信息方法
2015/04/08 Python
python with提前退出遇到的坑与解决方案
2018/01/05 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
Python实现的维尼吉亚密码算法示例
2018/04/12 Python
使用python实现http及ftp服务进行数据传输的方法
2018/10/26 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
wxPython实现文本框基础组件
2019/11/18 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
Python getsizeof()和getsize()区分详解
2020/11/20 Python
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
阿迪达斯西班牙官方网站:adidas西班牙
2016/07/21 全球购物
美国知名的网上鞋类及相关服装零售商:Shoes.com
2017/05/06 全球购物
大学专科生推荐信范文
2013/11/23 职场文书
学校采购员岗位职责
2014/01/02 职场文书
小学生安全保证书
2014/02/01 职场文书
放飞梦想演讲稿600字
2014/08/26 职场文书
档案工作个人总结
2015/03/03 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python
MongoDB支持的数据类型
2022/04/11 MongoDB