首页 > 其他 > 详细

静态缓存

时间:2017-01-24 17:48:09      阅读:204      评论:0      收藏:0      [点我收藏+]

生成静态缓存

① 建立缓存文件默认的文件夹 

  //默认路径
  private $_dir;
  //默认后缀
  const EXT = ".txt";
  //创建缓存数据的文件夹
  public function __construct(){
  $this->_dir = dirname(__FILE__)."/files/";
  }

 

② 建立生成缓存的方法

 

public function cacheData($key,$value="",$path=""){
        //构造文件
        $filename = $this->_dir.$path.$key.self::EXT;
        //将value值写入文件
        if($value !== ""){
            //获得文件所在目录
            $dir = dirname($filename);
            //判断是否存在该目录,不存在则创建
            if(!is_dir($dir)){
                mkdir($dir,0777);
            }
            //该方法只能传递字符串,所以将value值进行json操作
            return file_put_contents($filename, json_encode($value));
        }
}

 

 

 

 

 

 

获取生成的静态缓存

进行方法调用时,如果value值为空,则为获取缓存.

    //衔接上个if($value !== "")判断
    //不存在该文件,则返回空
        if(!is_file($filename)){
            return false;
        }else{
            return json_decode(file_get_contents($filename),true);
        }

 

 

 

 

 

删除生成的静态缓存

使用unlink(‘文件名‘)方法,进行删除.

  传入的value值如果为null,则进行删除缓存文件的操作.

class file{

    //默认路径
    private $_dir;
    //默认后缀
    const EXT = ".txt";
    //创建缓存数据的文件夹
    public function __construct(){
        $this->_dir = dirname(__FILE__)."/files/";
    }

    /*
    进行缓存操作
    $key => 缓存文件的文件名
    $value => 缓存数据
    $path => 缓存路径
    */
    public function cacheData($key,$value="",$path=""){
        //构造文件
        $filename = $this->_dir.$path.$key.self::EXT;
        //将value值写入文件
        if($value !== ""){

            //如果传入的value值为null,则删除该缓存文件
            if(is_null($value)){
                return @unlink($filename);
            }

            //获得文件所在目录
            $dir = dirname($filename);
            //判断是否存在该目录,不存在则创建
            if(!is_dir($dir)){
                mkdir($dir,0777);
            }
            //该方法只能传递字符串,所以将value值进行json操作
            return file_put_contents($filename, json_encode($value));
        }

        //如果value值为空
        //不存在该文件,则返回空
        if(!is_file($filename)){
            return false;
        }else{
            return json_decode(file_get_contents($filename),true);
        }
    }

}

 

 

 

  

 

静态缓存

原文:http://www.cnblogs.com/3-tu/p/6347445.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!