經實際使用,PHPCMS的緩存是個很奇怪的地方,首先緩存寫入timeout寫參數 大於 0 就會出現寫入出現問題。源碼有問題唯一的解決辦法是,寫入的時候數據 帶入一個過期時間,讀取的時候 來判斷
// 最終緩存數據
$cacheEnd = [
'timeOut' => time() + 600,
'data' => '緩存內容'
];
// 緩存下
setcache('cacheName', $cacheEnd, 'path');
讀取的時候:
// 讀取緩存文件
$cacheData = getcache($this->cacheName, $this->cachePath);
// 數據緩存存在
if ($cacheData) {
$endTime = intval(empty($cacheData['timeOut']) ? 0 : $cacheData['timeOut']);
// 如果過期時間 未到直接返回數據
if ($endTime > time()) {
echo "未過期啊";
echo $cacheData['data'];
return true;
}
}