SpringBoo2.x,整合Ehcache3.x

1坷澡、依賴

...
implementation('org.springframework.boot:spring-boot-starter-cache')
implementation('org.ehcache:ehcache')
....

2譬胎、配置

2.1 ehcache配置

在resources 目錄中創(chuàng)建ehcache.xml配置ehcache带迟。

這里需要注意的是磕蛇,百度里面的文章大部分都是告訴大家怎么配置ehcache2.x,但是ehcache的2.x和3.x完全就兩碼事情了景描,所以如果不經(jīng)過思考,一通 copy 那栽跟頭是肯定得了秀撇。

下面我貼出我項目中使用的配置:

<?xml version="1.0" encoding="UTF-8"?>
<eh:config
        xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
        xmlns:eh='http://www.ehcache.org/v3'
        xsi:schemaLocation="http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core-3.3.xsd">
    <!--指定緩存目錄-->
    <eh:persistence directory="${java.io.tmpdir}/cfa-cache-data"/>
    
    <!--緩存模板-->
    <eh:cache-template name="default">
        <eh:expiry>
            <eh:ttl unit="seconds">600</eh:ttl>
        </eh:expiry>
        <eh:resources>
            <!--堆內(nèi)內(nèi)存可以放2000個條目超棺,超出部分堆外100MB-->
            <eh:heap unit="entries">2000</eh:heap>
            <eh:offheap unit="MB">100</eh:offheap>
        </eh:resources>
    </eh:cache-template>

    <!--實際的緩存區(qū)間,繼承了default緩存模板,cfa 完全使用模板默認-->
    <eh:cache alias="cfa" uses-template="default">
        
    </eh:cache>

    <!--下面兩個繼承了default緩存模板呵燕,但覆蓋了緩存的過期時間-->
    <eh:cache alias="authority" uses-template="default">
        <eh:expiry>
            <eh:ttl unit="hours">1</eh:ttl>
        </eh:expiry>
    </eh:cache>

    <eh:cache alias="lapp_service" uses-template="default">
        <eh:expiry>
            <eh:ttl unit="hours">24</eh:ttl>
        </eh:expiry>
    </eh:cache>
</eh:config>

2.1 SpringBoot配置

2.1.1 application.yml配置

這里需要注意了棠绘,在老版本Boot或者使用 ehcache2.x版本,在這里的配置是有差異的再扭。

老版本:

spring:
    cache:
        ehcache:
            config: classpath:/ehcache.xml

新版本:

spring:
    cache:
        jcache:
            config: classpath:/ehcache.xml

從上面新老配置可以看出氧苍,不一樣的地方是,老版本使用ehcache新版本中改為了jcache泛范,其他的不變让虐。

2.1.1 啟用注解

//在Boot 項目的啟動類上標注@EnableCaching來開啟緩存功能
@SpringBootApplication
@EnableCaching
public class LappApplication {

    public static void main(String[] args) {
        SpringApplication.run(LappApplication.class, args);
    }
}

3、應(yīng)用緩存

在需要使用緩存的方法或類上增加@Cacheable注解

例如:

@Override
@Cacheable(cacheNames = "authority", key = "'authority_'+#uid")
public UserPojo getUserById(Long uid) throws UsernameNotFoundException {
    User user = userDao.findById(uid).get();
    if (user == null) {
        throw new UsernameNotFoundException(uid + "");
    }
    return user.toPojo();
}

此處的cacheNames的值authority需要和ehcache.xml中 cache 的alias名稱對應(yīng)罢荡,否則訪問是會拋找不到緩存空間的異常赡突。

關(guān)于更多Spring緩存注解@Cacheable对扶、@CacheEvict、@CachePut的使用麸俘,讀者可以自行百度辩稽,這里就不過多描述了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末从媚,一起剝皮案震驚了整個濱河市逞泄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拜效,老刑警劉巖喷众,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異紧憾,居然都是意外死亡到千,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門赴穗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來憔四,“玉大人,你說我怎么就攤上這事般眉×苏裕” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵甸赃,是天一觀的道長柿汛。 經(jīng)常有香客問我,道長埠对,這世上最難降的妖魔是什么络断? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮项玛,結(jié)果婚禮上貌笨,老公的妹妹穿的比我還像新娘。我一直安慰自己襟沮,他們只是感情好躁绸,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著臣嚣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪剥哑。 梳的紋絲不亂的頭發(fā)上硅则,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機與錄音株婴,去河邊找鬼怎虫。 笑死暑认,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的大审。 我是一名探鬼主播蘸际,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼徒扶!你這毒婦竟也來了粮彤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤姜骡,失蹤者是張志新(化名)和其女友劉穎导坟,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體圈澈,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡惫周,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了康栈。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片递递。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖啥么,靈堂內(nèi)的尸體忽然破棺而出登舞,到底是詐尸還是另有隱情,我是刑警寧澤饥臂,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布逊躁,位于F島的核電站,受9級特大地震影響隅熙,放射性物質(zhì)發(fā)生泄漏稽煤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一囚戚、第九天 我趴在偏房一處隱蔽的房頂上張望酵熙。 院中可真熱鬧,春花似錦驰坊、人聲如沸匾二。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽察藐。三九已至,卻和暖如春舟扎,著一層夾襖步出監(jiān)牢的瞬間分飞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工睹限, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留譬猫,地道東北人讯檐。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像染服,于是被迫代替她去往敵國和親别洪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容