FreeMarker缓存处理
FreeMarker 的緩存處理主要用于模版文件的緩存,一般來講,模版文件改動不會很頻繁,在一個流量非常大的網(wǎng)站中,如果頻繁的讀取模版文件對系統(tǒng)的負擔還是很重的,因此 FreeMarker 通過將模版文件的內(nèi)容進行緩存,來降低模版文件讀取的頻次,降低系統(tǒng)的負載。
當處理某個模版時,FreeMarker直接從緩存中返回對應的 Template 對象,并有一個默認的機制來保證該模版對象是跟模版文件同步的。如果使用的時候 FreemarkerServlet 時,有一個配置項template_update_delay用來指定更新模版文件的間隔時間,相當于多長時間檢測一下是否有必要重新加載模版文件,0 表示每次都重新加載,否則為多少毫秒鐘檢測一下模版是否更改。
FreeMarker定義了一個統(tǒng)一的緩存處理接口CacheStorage,默認的實現(xiàn)是 MruCacheStorage 最近最少使用的緩存策略。一般情況下,很少需要對緩存進行擴展處理。您可以通過下面的代碼指定最大緩存的模版數(shù):
| 1 | cfg.setCacheStorage(new freemarker.cache.MruCacheStorage(20, 250)) |
其中第一個參數(shù)是最大的強引用對象數(shù),第二個為最大的弱引用對象數(shù)。這兩個值FreeMarker默認的是0和 Integer.MAX_VALUE,表明模版緩存數(shù)是無限的。
轉(zhuǎn)載于:https://www.cnblogs.com/cz-xjw/p/4987168.html
總結(jié)
以上是生活随笔為你收集整理的FreeMarker缓存处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Please verify you in
- 下一篇: js原生图片拼图Demo