前几天一个很古老的网站突然要加微信分享功能。无奈cms太过古老。无法缓存微信接口的AccessToken。存数据库觉得得不偿失。加redis 觉得还不如存数据库(还需要 给线上服务器装redis服务,觉得范不上)。只好写道文件里。
function setCache($cache_key,$data=false,$time=3600){ //缓存文件存在且时间不超过一小时,则直接使用缓存的结果集,不在进行任何的MySQL查询了 $cachFile = $_SERVER['DOCUMENT_ROOT'].'/Data/'.$cache_key.'.php'; if($data || $data!==false||$data===NULL){ $data = json_encode($data); file_put_contents($cachFile, $data); }else{ if(file_exists($cachFile) && time()-filemtime($cachFile) < $time) { //使用缓存中的结果 $json = file_get_contents($cachFile); if($json=='null'){ return false; } return json_decode($json,true); } return false; } return false;}setCache('key','mycache');//设置缓存echo setCache('key'); //读取缓存setCache('key',null);//清空缓存
有一点不知道是否合理,就是当我清空缓存的时候。是否有必要取把这个缓存文件删掉。