我將構建一個網站,其中包含數據庫中的動態內容(屬性如標題,URL等)。我想每次查詢所有內容並分配變量都是非常不現實的,所以我已經閱讀了關於緩存的內容。數據庫中的Smarty緩存站點屬性
我使用Smarty模板,系統。
include('libs/Smarty/Smarty.class.php');
$smarty = new Smarty;
$smarty->setCaching(true);
if (!$smarty->isCached('index.tpl')) {
//query here and assign..
$smarty->assign('title', 'Test');
}
$smarty->display('themes/simple/index.tpl');
- 上空時,它再次檢查緩存中的代碼?如果我在數據庫網站屬性中進行了更改,我希望立即更改我的網站,可以將這些網站用於維護等非常重要的事情。
- 我是否真的需要查詢所有數據頁面加載來獲取網站信息,還是有任何解決方案,比如用緩存檢查數據庫行結構,或者類似的東西?
解決方案,我需要!
更新: 我嘗試clearCache的方法,但它似乎並沒有正常工作。我更新數據庫,但「clearCache」方法似乎沒有被觸發,或者什麼。
$smarty = new Smarty;
$smarty->setCaching(Smarty::CACHING_LIFETIME_CURRENT);
//just to test
$smarty->clearCache('index.tpl');
if (!$smarty->isCached('index.tpl')) {
//do stuff here
好吧,如果你想改變被立即提供給用戶,你不應該使用緩存可言,這是它:-) –
有沒有辦法像檢查數據庫表已被更改,如果是的話,重新查詢一切,這應該節省一些時間?還是我誤會了? – John
不是沒有查詢數據庫,這是你想要避免的。 –