步驟一
十年的石龍網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網營銷推廣的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整石龍建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。創新互聯建站從事“石龍網站設計”,“石龍網站推廣”以來,每個客戶項目都認真落實執行。
maven需要添加下面代碼:
[java] view plaincopy
dependency
groupidorg.springframework/groupid
artifactidspring-context-support/artifactid version${spring.version}/version
/dependency
以及
[java] view plaincopy
dependency
groupidnet.sf.ehcache/groupid
artifactidehcache/artifactid
version${ehcache.version}/version
/dependency
將最新版本放到占位符中: ${spring.version} 和 ${ehcache.version}
步驟二
在應用程序中將以下代碼加入context.xml:
[java] view plaincopy
bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager" p:cachemanager-ref="ehcache"
bean id="ehcache" class="org.springframework.cache.ehcache. EhCacheManagerFactoryBean" p:configlocation="classpath:configuration/ehcache.xml" p:shared="true" cache:annotation-driven/cache:annotation-driven/bean/bean
步驟三
將ehcache.xml添加到類路徑
一個基本的ehcache.xml入下:
[java] view plaincopy
ehcache xmlns:xsi="" xsi:nonamespaceschemalocation=""
diskstore path="java.io.tmpdir"
defaultcache
cache name="yourCache" maxelementsinmemory="10000" eternal="false" timetoidleseconds="1800" timetoliveseconds="1800" maxelementsondisk="10000000" diskexpirythreadintervalseconds="1800" memorystoreevictionpolicy="LRU" persistence strategy="localTempSwap" /persistence/cache
/defaultcache/diskstore/ehcache
步驟四
最后一步,使用注釋,非常簡單,一行代碼:
[html] view plaincopy
@Cacheable(value = "youCache")
這個注釋可以使用任何方法,默認情況下在緩存哈希圖中,它使用方法參數作為key。
現在,誰說Java要寫長篇的代碼?
EhCache介紹:
在這次實踐中使用了EhCache,它強大、高度可定制化,可以根據需要設置任何key、緩存類型、緩存時間。最重要的是,他開源。
?閼飧齪誦牡牡胤劍?褪莂ction這兒不去查數據庫,而拿到緩存的數據再直接返回到前臺嘛。核心代碼邏輯就是:longobsoleteTime=1天;
List
list=cache.get(abc,
obsoleteTime);if(list==null){
list=manager.search(..);
這樣的緩存策略很多的啊。比如oscache就可以達到要求,而且用起來很簡單,只要一個jar,自己抽象一個cache的接口,套上去,就能用了。
1、OSCache
OSCache是個一個廣泛采用的高性能的J2EE緩存框架,OSCache能用于任何java應用程序的普通的緩存解決方案。
OSCache有以下特點:
(1)緩存任何對象,你可以不受限制的緩存部分jsp頁面或HTTP請求,任何java對象都可以緩存。
永久緩存--緩存能隨意的寫入硬盤,因此答應昂貴的創建(eXPensive-to-create)數據來保持緩存,甚至能讓應用重啟。
(2)支持集群--集群緩存數據能被單個的進行參數配置,不需要修改代碼。
緩存記錄的過期--你可以有最大限度的控制緩存對象的過期,包括可插入式的刷新策略(假如默認性能不需要時)。
2、Java Caching System
JSC(Java Caching System)是一個用分布式的緩存系統,是基于服務器的java應用程序。它是通過提供治理各種動態緩存數據來加速動態web應用。
JCS和其他緩存系統一樣,也是一個用于高速讀取,低速寫入的應用程序。
動態內容和報表系統能夠獲得更好的性能。
假如一個網站,有重復的網站結構,使用間歇性更新方式的數據庫(而不是連續不斷的更新數據庫),被重復搜索出相同結果的,就能夠通過執行緩存方式改進其性能和伸縮性。
3、EHCache
EHCache 是一個純java的在進程中的緩存,它具有以下特性:快速,簡單,為Hibernate2.1充當可插入的緩存,最小的依靠性,全面的文檔和測試。
4、JCache
JCache是個開源程序,正在努力成為JSR-107開源規范,JSR-107規范已經很多年沒改變了。這個版本仍然是構建在最初的功能定義上。
5、ShiftOne
ShiftOne Java Object Cache是一個執行一系列嚴格的對象緩存策略的Java lib,就像一個輕量級的配置緩存工作狀態的框架。
6、SwarmCache
SwarmCache是一個簡單且有效的分布式緩存,它使用ip multicast與同一個局域網的其他主機進
行通訊,是非凡為集群和數據驅動web應用程序而設計的。
SwarmCache能夠讓典型的讀操作大大超過寫操作的這類應用提供更好的性能支持。
SwarmCache使用JavaGroups來治理從屬關系和分布式緩存的通訊。
擴展資料
Java中緩存存在的原因:
一 般情況下,一個網站,或者一個應用,它的一般形式是,瀏覽器請求應用服務器,應用服務器做一堆計算后再請求數據庫,數據庫收到請求后再作一堆計算后把數據 返回給應用服務器。
應用服務器再作一堆計算后把數據返回給瀏覽器,這個是一個標準流程。但是隨著互連網的普及,上網的人越來越多,網上的信息量也越來越多。
數據庫每秒中接受請求的次數也是有限的,如果利用有限的資源來提供盡可能大的吞吐量呢。一個辦法:減少計算量,縮短請求流程(減少網絡io或者硬盤io),這時候緩存就可以大展手腳了。
緩存的基本原理就是打破上圖中所描繪的標準流程,在這個標準流程中,任何 一個環節都可以被切斷.請求可以從緩存里取到數據直接返回。