smarty3緩存設置原理和注意事項
來(lái)源:昆明多彩網(wǎng)絡(luò )公司 日期:2011-03-22 閱讀: 發(fā)表評論
開(kāi)啟緩存的變量是caching,有3個(gè)值:默認為0表示關(guān)閉緩存;1為開(kāi)啟緩存模式1,使用統一的緩存過(guò)期時(shí)間;2為開(kāi)啟緩存模式2,為每個(gè)頁(yè)面使用單獨的緩存時(shí)間。同時(shí)需要定義緩存路徑cache_dir,如果沒(méi)有定義該變量,smarty將自動(dòng)默認一個(gè)緩存路徑。
前面的工作做完后,下面的設置是關(guān)鍵點(diǎn),我們啟用緩存的目的就是提升網(wǎng)站速度,而影響網(wǎng)站速度除了服務(wù)器本身的性能和帶寬因素之外,數據庫查詢(xún)和php文件的編譯是影響網(wǎng)站速度的兩大主要因素,原理是利用smarty的函數來(lái)判斷對應的緩存是否存在,如果存在的話(huà)就跳過(guò)查詢(xún)數據庫和其他耗費內存的操作,直接讀取緩存文件,提升網(wǎng)站速度。
網(wǎng)站制作編寫(xiě)代碼時(shí)需要隨時(shí)判斷對應的緩存文件是否存在,通過(guò)函數isCached()來(lái)判斷,返回true表示緩存已經(jīng)存在,注意該函數在smarty3中的命名有所改變,注意查閱手冊,看一下實(shí)例代碼:
if(!isCached('index.tpl', 'cache_id')){ 這里是查詢(xún)數據庫的代碼或者其他方面的操作}
注意,php中的代碼將按照正常php腳本解析運行,并不是網(wǎng)上一些人說(shuō)的如果緩存存在就直接腳本停止運行(exit);
注意,如果數據庫更新后想要同時(shí)更新前臺顯示,需要在增加或者編輯信息后同時(shí)刪除對應的緩存文件即可來(lái)達到前臺頁(yè)面的更新的目的,同時(shí)可以配合$cache_lifetime=-1(緩存永不過(guò)期)使網(wǎng)站達到最好的性能。
發(fā)表評論評論列表(有 條評論)