關於“PHPCMS setcache timeout 過期時間”無法使用的解決辦法

經實際使用,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;
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章