夺命雷公狗---PHP开发APP接口---5(核心技术之缓存技术)

缓存技术:

1.静态缓存

保存在磁盘上的静态文件,用PHP生成数据放入静态文件中

2.Memcache和redis缓存

缓存主要是为了减少服务器压力。

 

PHP操作缓存

1.生成缓存

2.获取缓存

3.删除缓存

 

<?php
    class File{
        private $_dir;
        const EXT = '.txt';
        public function __construct(){
            $this -> _dir = dirname(__FILE__).'/files'; //默认存放缓存目录的文件夹
        }
        public function cacheData($k,$v='',$path=''){
            $filename = $this->_dir.$path.$k.self::EXT;
            
            if($v!==''){//将$v值写入缓存
                if(is_null($v)){
                    return @unlink($filename);
                }
                $dir = dirname($filename);
                if(!is_dir($dir)){ //判断目录是否存在
                    mkdir($dir,0777); //不存在那就创建目录
                }
                
                return file_put_contents($filename,json_encode($v));
            }
            
            if(!is_file($filename)){
                return false;
            }else{
                return json_decode(file_get_contents($filename),true);
            }
        }
    }

 

 

测试代码如下:

<?php
    include('./7.php');
    //测试的xml数据
    $data = array(
        'id' => 1,
        'name' => 'lisi',
        'type' => array(1,7,89,array('5','a','d','d'))
    );
    $file = new File();
    //这里传的$data的意思是如果值存在就打开缓存,如果不存在就生成缓存
    if($file -> cacheData('index_mk_cache'/*,$data*/,null)){
        //var_dump($file->cacheData('index_mk_cache'));exit;
        echo "success";
    }else{
        echo "error";
    }

 

posted @ 2015-11-11 09:14  夺命雷公狗  阅读(238)  评论(0编辑  收藏  举报