黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 開啟Java高速緩存:Ehcache介紹及整合Spring實現(xiàn)高速緩存

開啟Java高速緩存:Ehcache介紹及整合Spring實現(xiàn)高速緩存

更新時間:2022-08-08 11:53:34 來源:動力節(jié)點 瀏覽1694次

Ehcache介紹

我們先來了解一下什么是EhCache ,它是一個純Java的進程內(nèi)緩存框架,具有快速、精干等特點,是Hibernate中默認的CacheProvider。它使用的是JVM的堆內(nèi)存,超過內(nèi)存可以設置緩存到磁盤,企業(yè)版的可以使用JVM堆外的物理內(nèi)存。

Spring整合Ehcache

首先加入最新的ehcache的maven依賴

net.sf.ehcache
ehcache
2.10.4

在Spring配置文件中加入如下配置

在classpath中加入ehcache的配置文件ehcache.xml

xsi:noNamespaceSchemaLocation="ehcache.xsd"
updateCheck="false"
monitoring="autodetect"
dynamicConfig="true"
maxBytesLocalHeap="800M"
maxBytesLocalDisk="200G">
eternal="true"
overflowToDisk="true"
diskPersistent="true"
memoryStoreEvictionPolicy="LRU"
/>
eternal="false"
timeToIdleSeconds="0"
timeToLiveSeconds="86400"
overflowToDisk="true"
diskPersistent="true"
diskExpiryThreadIntervalSeconds="1800"
memoryStoreEvictionPolicy="LRU"
/>

配置文件說明

Spring Cache的Cacheable注解不支持失效時間設置,所以只能在ehcache.xml上面設計緩存。上面的配置文件配置了兩種緩存,一種永久不過期的,一種緩存1小時,更多時限的在后面加就行。

參數(shù)說明

updateCheck: 建議關閉ehcache的自動更新,不然每次啟動都要去官網(wǎng)更新

monitoring:自動檢測

dynamicConfig: 支持動態(tài)改變配置

maxBytesLocalHeap: 最大堆內(nèi)存使用,單位可為K,M,G

maxBytesLocalDisk: 最大磁盤使用,單位可為K,M,G

maxBytesLocalHeap、maxBytesLocalDisk這兩個是定義在總配置上的,不過也可以指定到具體的緩存上面去,不過最大容量以總配置上面的大小為準。

diskStore:指定數(shù)據(jù)存儲位置,可指定磁盤中的文件夾位置

defaultCache: 默認的管理策略

以下屬性是必須的

name: Cache的名稱,必須是唯一的,ehcache會把這個cache放到HashMap里去。

maxElementsInMemory:在內(nèi)存中緩存的element的最大數(shù)目。

maxElementsOnDisk:在磁盤上緩存的element的最大數(shù)目,默認值為0,表示不限制。

eternal:設定緩存的elements是否永遠不過期。如果為true,則緩存的數(shù)據(jù)始終有效,如果為false那么還要根據(jù)timeToIdleSeconds,timeToLiveSeconds判斷。

overflowToDisk: 如果內(nèi)存中數(shù)據(jù)超過內(nèi)存限制,是否要緩存到磁盤上。

以下屬性是可選的:

timeToIdleSeconds: 對象空閑時間,指對象在多長時間沒有被訪問就會失效。只對eternal為false的有效。默認值0,表示一直可以訪問。

timeToLiveSeconds: 對象存活時間,指對象從創(chuàng)建到失效所需要的時間。只對eternal為false的有效。默認值0,表示一直可以訪問。

diskPersistent: 是否在磁盤上持久化。指重啟jvm后,數(shù)據(jù)是否有效。默認為false。

diskExpiryThreadIntervalSeconds: 對象檢測線程運行時間間隔。標識對象狀態(tài)的線程多長時間運行一次。

diskSpoolBufferSizeMB: DiskStore使用的磁盤大小,默認值30MB。每個cache使用各自的DiskStore。

memoryStoreEvictionPolicy: 如果內(nèi)存中數(shù)據(jù)超過內(nèi)存限制,向磁盤緩存時的策略。默認值LRU,可選FIFO、LFU。

緩存的3 種清空策略

FIFO-first in first out (先進先出)。

LFU-Less Frequently Used (最少使用),意思是一直以來最少被使用的。緩存的元素有一個hit 屬性,hit 值最小的將會被清出緩存。

LRU -Least Recently Used(最近最少使用),(ehcache 默認值).緩存的元素有一個時間戳,當緩存容量滿了,而又需要騰出地方來緩存新的元素的時候,那么現(xiàn)有緩存元素中時間戳離當前時間最遠的元素將被清出緩存。

緩存使用

使用Spring提供的注解即可,傳入vaue,key等注解需要的參數(shù)。

@Cacheable:先查緩存,有則不進行方法,沒有就進行方法再緩存起來。

@CachePut:每次都執(zhí)行方法,再放入緩存。

@CacheEvict:讓緩存失效。

@Caching:以上3種注解可以組合使用。

以上就是關于“開啟Java高速緩存:Ehcache介紹及整合Spring實現(xiàn)高速緩存”的介紹,大家如果想了解更多相關知識,可以關注一下動力節(jié)點的Java在線學習,里面的課程內(nèi)容從入門到精通,細致全面,很適合小白學習,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日本黄色的视频 | 伦理久久 | 免费午夜视频在线观看 | 亚洲丁香色婷婷综合欲色啪 | 亚洲欧美日本韩国综合在线观看 | 美女福利影院 | 国产v亚洲v天堂a无 国产v亚洲v天堂无码 | 亚洲综合日韩精品欧美综合区 | 97国产在线观看 | 最近2019免费中文字幕8 | 波多野结衣在线不卡 | 免费大黄网站在线观看 | 精品色视频 | 中文国产成人精品少久久 | 欧美午夜理伦三级理论三级 | 日韩欧美亚洲综合 | 69堂午夜精品视频在线 | 手机在线看片不卡中文字幕 | 日韩国产第一页 | 国产成人免费在线 | 黄色大片网 | 日本高清在线观看天码888 | 日韩精品一区二区三区中文版 | 亚洲国产女人aaa毛片在线 | 日韩欧美国产高清 | 伊人网站 | 涩涩视频免费看 | 高h辣肉各种姿势爽文bl | 二区三区在线 | 午夜视频在线观看国产 | 天堂网欧美 | 五月天丁香婷婷开心激情五月 | 麻豆国产人免费人成免费视频 | 午夜精品久视频在线观看 | www在线视频 | 一本久久综合亚洲鲁鲁五月天 | 日韩有码视频在线 | 黄色的视频免费看 | 老司机午夜性大片免费 | 亚洲精品午夜久久aaa级久久久 | 波多野结衣在线不卡 |