公司手机触屏站 ,由于页面图片太多,所以需要做数据缓存,就随便写一个数据缓存类。
直接贴代码
<?php
/**
*
*
fianl_m@foxmail.com
* 缓存类
* 把数据查询出,并序列化写入文件
**/
class Cache{
function __construct($config){
//定义是否开启缓存
$this->is_***=$config['is_***'];
//定义缓存目录
$this->***_file=$config['***_file'];
//定义缓存时间
$this->***_time=$config['***_time'];
}
//读取缓存文件
public function open($name){
$arr=array();
$filename=$this->***_file.$name;
$status=filemtime($filename)+$this->***_time>time();//定义缓存时间
if( file_exists($filename) && $status &&
$this->is_***){
$content=file_get_contents($filename);//读取缓存文件
$arr=unserialize($content);
return $arr;
}else{
return
false;
}
}
//写入缓存文件
public function
write($name,$data=array()){
$filename=$this->***_file.$name;
$content=serialize($data);
file_put_contents($filename,
$content);//写入缓存文件
}
}
?>
其实无非就是,把select的数组 然后序列化 放进文本中 然后读出来。
使用方法
//定义缓存是否开启
require('***.class.php');
$config=array(
'is_***'=>1,//是否开启缓存
'***_file'=>'./***/',//缓存文件夹
'***_time'=>'60',//缓存时间
);
$***=new Cache($config);
//打开缓存,传入缓存文件名字
$row=$***->open($filename);
//写入缓存传入文件名字 和数据(数组)
$***->write($filename,$data);