欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php开发app接口之静态缓存

程序员文章站 2022-05-02 22:24:07
...

(1) 静态 缓存 这里技术的本质是我们将我们所需要的一些数据临时存在服务器的一些文件中。 ?php class File { private $_dir ; const EXT= 'php' ; public function __construct () { $this -_dir=dirname( __FILE__ ). '/files/' ; } public function cache

(1)静态缓存
这里技术的本质是我们将我们所需要的一些数据临时存在服务器的一些文件中。

class File
{
    private $_dir;
    const EXT='php';
    public function __construct()
    {
        $this->_dir=dirname(__FILE__).'/files/';
    }
    public function cacheDate($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);
            }
            return file_put_contents($filename,json_encode($value));
        }
        if(!is_file($filename))
        {
            return FALSE;
        }
        else
        {
            return json_decode(file_get_contents($filename),true);
        }
    }
}

这里封装了一个类,下面是测试代码

require_once './File.php';
$data=array(
    'id'=>1,
    'name'=>'singwa',
    'type'=>array(4,5,6),
    'test'=>array(1,45,67=>array(123,'tsysa')),
);
$file=new File();
//增加缓存的方式 这样会将指定的数据放入指定文件夹中
if($file->cacheDate('index_mk_cache'),$data)
{
    var_dump($file->cacheDate('index_mk_cache'));
    echo "success";
}
else 
{
    echo "error";
}
//取出缓存的方式
if($file->cacheDate('index_mk_cache'))
{
    var_dump($file->cacheDate('index_mk_cache'));
    echo "success";
}
else 
{
    echo "error";
}
//删除缓存的方式
if($file->cacheDate('index_mk_cache'),$value=null)
{
    var_dump($file->cacheDate('index_mk_cache'));
    echo "success";
}
else 
{
    echo "error";
}