欧美成人精品,亚洲精品乱码久久久久久久久,国产成人自拍网站,www.av.,少妇毛片久久久久久久,亚洲日本伊人,一区精品国产欧美在线

云南網站建設創(chuàng)新企業(yè) 昆明多彩網絡公司

關于smarty緩存的設置問題?

來源:昆明多彩網絡公司 日期:2011-03-05 閱讀: 發(fā)表評論

smarty不僅將php實現(xiàn)了mvp,將代碼和模板層分離;同時還緩存頁面,加快網站的打開速度,提升網站性能,降低數據庫的壓力,但是怎么設置緩存才是最合理的呢?

 smarty的緩存開關變量是$caching,默認是關閉狀態(tài),值為false,一般是在調試狀態(tài)下就關閉,但是真正投入到生產環(huán)境的時候是需要開啟緩存的,能夠極大提升網站的打開速度。

但是smarty的緩存也是一把雙刃劍,在緩存前臺頁面的同時,如果后臺數據更新的非常頻繁,如果緩存設置不當的話,前臺將無法及時更新。

這里介紹另外一個smarty的變量:$compile_check(編譯檢查變量),如果開啟此變量,smarty會檢查模板文件是否改動過,如果模板改動過的話smarty就會重新生成模板編譯文件,但是否會生成緩存文件需要看兩個方面,第一是smarty是否開啟了緩存,第二是對應的緩存文件是否存在著。

下面我們列舉幾個可能性:

1、$compile_check開啟,$caching開啟,同時設置$caching失效時間為3600秒(即一小時)

a.如果只是數據庫更新了內容,模板無改動,不會更新模板編譯文件(就算刪除模板編譯也不會重新生成,模板編譯步驟直接跳過),在這3600中,前臺頁面無法體現(xiàn)出數據更新后的效果;

b.如果更新了模板文件,smarty只會重新生成模板的編譯文件,但是緩存依然不會重新生成(除非將之前生成的緩存文件刪除);

c.如果模板和數據庫都有更新,效果同前一個效果,只是重新生成模板的編譯文件,前臺效果需要3600秒后才會更新(除非將之前生成的緩存文件刪除)。

2、$compile_check關閉,caching開啟,同時設置$caching失效時間為3600秒(即一小時)

a.如果只是數據庫更新了內容,模板無改動,在這3600中,前臺頁面無法體現(xiàn)出數據更新后的效果;

b.如果更新了模板文件,smarty不會生成模板的編譯文件,緩存不會重新生成(除非將之前生成的緩存文件刪除);

c.如果模板和數據庫都有更新,模板和緩存都不會重新生成,刪除之前生成的緩存后可以重新生成緩存,但是模板編譯文件依舊不會生成。

綜合上述條件,我們在網站制作中,可以采用這樣的策略:

第一種策略:如果為了達到更大的性能,可以將$compile_check關閉,caching開啟;

第二種策略:如果只是想僅達到mvp代碼和模板分離的效果,可以將$compile_check開啟,Caching關閉即可。

發(fā)表評論評論列表(有 條評論)

黄骅市| 太仓市| 武清区| 沙雅县| 固阳县| 湖南省| 阿拉善左旗| 全椒县| 汶川县| 龙岩市| 中山市| 安龙县| 石楼县| 保定市| 黑龙江省| 永修县| 弋阳县| 中牟县| 遂平县| 新田县| 宁远县| 江阴市| 文水县| 石林| 虹口区| 池州市| 拜泉县| 南皮县| 凤凰县| 英超| 肃南| 讷河市| 淳化县| 新安县| 闻喜县| 当涂县| 达尔| 海口市| 淳化县| 巴彦县| 星子县|