前幾天一個很古老的網站突然要加微信分享功能。無奈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);//清空快取
有一點不知道是否合理,就是當我清空快取的時候。是否有必要取把這個快取檔案刪掉。