前幾天一個很古老的網站忽然要加微信分享功能。無奈cms太過古老。沒法緩存微信接口的AccessToken。存數據庫以爲得不償失。加redis 以爲還不如存數據庫(還須要 給線上服務器裝redis服務,以爲範不上)。只好寫道文件裏。php
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);//清空緩存
有一點不知道是否合理,就是當我清空緩存的時候。是否有必要取把這個緩存文件刪掉。redis