2008年10月9日 星期四

[smarty]caching 加快網站速度

$Smarty->caching = 1;

重新訪問該頁面,然後檢查存放緩存文件的子目錄(默認是./cache),可以找到一個名叫%%65^650^65099D8B%%TestSmarty.tpl的文件,內容如下:

這就是生成的緩存文件,在靜態的HTML文件之前,包含了已經序列化的PHP信息。雖然這些信息無法被直接閱讀,但是多少還是能夠猜測出來:模板的子目錄,模板文件名,時間戳,生存期(過期時間),等等。如果讀者有興趣研究它們的詳細定義,可以閱讀Smarty的源代碼。
注意,上述信息中包含了一項:生存期,即當前緩存在多長時間以後過期。
Smarty默認的生存期是1小時,即3600秒。可以通過修改Smarty屬性來設置生命期,代碼如下:

$Smarty->cache_lifetime = 1800;

時間單位是秒,設置為1800表示當前緩存半小時後過期。
Smarty還支持為同一個模板創建多個緩存實例,這在實際應用中是非常常見的。舉例來說,假設某個博客系統中,顯示article的頁面為 Article.php,對應的模板文件為Article.tpl。但是,article頁面的內容根據不同的article ID而不同,因此,必須為同一個頁面創建不同的緩存實例。Smarty可以輕鬆做到這一點:

$Smarty->display("Article.tpl", $ArticleId);

【下列文章您可能也有興趣】

沒有留言: