目前我在我的基於mvc的網站中使用php和apc,這是一個定製的簡單mvc,所以我試圖構建它以適應我的需求。緩存緩存控制器中的對象還是緩存方法中的查詢會更好嗎?
但是我不確定哪裏是處理緩存的首選位置?
我有兩個選擇(我認爲)..要麼做這意味着對象的各種控制器的所有高速緩存被存儲在緩存中,或儲存在查詢緩存返回數據的方法裏面:
控制器實施例:
function showPage() {
$pageOb = new Page();
$key = md5('pageOb->getQuery()');
if(!$data = apc_fetch($key)){
$data = $pageOb->getQuery();
apc_add($key, $data, 600);
}
require 'template.php';
}
方法示例:
function getQuery(){
$sql = "SELECT * FROM table";
$key = md5('query'.$sql);
if(!$data = apc_fetch($key)){
$core = Connect::getInstance();
$stmt = $core->dbh->prepare($sql);
$stmt->execute();
$data = $stmt->fetchAll();
apc_add($key, $data, 600);
}
return $data;
}
謝謝@tereško,正是我一直在尋找的! – otporan