生活随笔
收集整理的這篇文章主要介紹了
缓存之EHCache(二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載自?http://blog.csdn.net/l271640625/article/details/20528679
六、在頁面中使用EHCache緩存
? ? ? ?簡單的來說,如果一個應用中80% 的時間內都在訪問20% 的數據,那么,這時候就應該使用緩存了。
? ? ? ?在80/20 原則生效的地方,我們都應該考慮是否可以使用緩存。但即使是這樣,緩存也有不同的用法,舉個例子,一個網站的首頁估計是被訪問的次數最多的,我們可以考慮給首頁做一個頁面緩存。頁面訪問最頻繁的,做緩存。不同的頁面的緩存策略有可能有天壤之別。
? ? ? ?毫無疑問,幾乎所有的網站的首頁都是訪問率最高的,而首頁上的數據來源又是非常廣泛的,大多數來自不同的對象,而且有可能來自不同的db ,所以給首頁做緩存是一個不錯的主意,那么主頁的緩存策略是什么樣子的呢,我認為應該是某個固定時間之內不變的,比如說2 分鐘更新一次。或者根據不同的網頁功能采取合理的策略。
?在使用ehcache 的頁面緩存之前,我們必須要了解ehcache 的2個概念:
(1)timeToIdleSeconds?,多長時間不訪問該緩存,那么ehcache 就會清除該緩存。
(2)timeToLiveSeconds?,緩存的存活時間,從開始創建的時間算起。
1、配置ehcache.xml文件
2、在web.xml配置文件中配置過濾器信息
????好了,緩存整個頁面看上去是非常的簡單,甚至都不需要寫一行代碼,只需要幾行配置就行了,夠簡單吧,雖然看上去簡單,但是事實上內部實現卻不簡單哦,有興趣的話,大家可以看看SimplePageCachingFilter 繼承體系的源代碼。
緩存首頁(整個頁面)示例:
| 02 | ????????<?filter-name?>?indexCacheFilter?</filter-name?> |
| 03 | ????????<?filter-class?> |
| 04 | ????????????net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter |
| 05 | ????????</filter-class?> |
| 08 | ????????<?filter-name?>?indexCacheFilter?</filter-name?> |
| 09 | ????????<?url-pattern?>?*index.action?</url-pattern?> |
?緩存首頁的部分內容時,需要使用SimplePageFragmentCachingFilter 這個filter 。如: ?
| 02 | ????????<?filter-name?>?indexCacheFilter?</filter-name?> |
| 03 | ????????<?filter-class?> |
| 04 | ????????????net.sf.ehcache.constructs.web.filter.SimplePageFragmentCachingFilter |
| 05 | ????????</filter-class?> |
| 08 | ????????<?filter-name?>?indexCacheFilter?</filter-name?> |
| 09 | ????????<?url-pattern?>?*/index_right.jsp?</url-pattern?> |
?這個jsp 需要被jsp:include 到其他頁面,這樣就做到的局部頁面的緩存。這一點貌似沒有oscache 的tag 好用。
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生
總結
以上是生活随笔為你收集整理的缓存之EHCache(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。