springboot自帶的緩存@EnableCaching用法
springboot自帶的緩存@EnableCaching
一般使用springboot自帶緩存時(shí),直接就在啟動(dòng)類(lèi)里添加注解@EnableCaching 。
@EnableCaching她有兩個(gè)經(jīng)常使用的方法
1.@Cacheable添加緩存
這里的value 是該緩存的名稱(chēng),可以隨意寫(xiě),而key要嚴(yán)格按照查詢(xún)條件來(lái)寫(xiě),比如這里是查詢(xún)條件id.
? ?@Cacheable(value = "gathering",key = "#id") ?? ?public Gathering findById(String id) { ?? ??? ?return gatheringDao.findById(id).get(); ?? ?}
查詢(xún)數(shù)據(jù)庫(kù)已有的數(shù)據(jù),第一次緩存沒(méi)有該數(shù)據(jù),直接走數(shù)據(jù)庫(kù),然后存入緩存
第二次查詢(xún)?cè)摂?shù)據(jù),發(fā)現(xiàn)緩存中存在key已有的數(shù)據(jù),直接走緩存不走數(shù)據(jù)庫(kù)
2.@CacheEvict 清理緩存
/** * CacheEvict 清理緩存 * 刪除 * @param id */ @CacheEvict(value = "gathering",key = "#id") public void deleteById(String id) { gatheringDao.deleteById(id); } /** * CacheEvict 清理緩存 * 修改 * @param gathering */ @CacheEvict(value = "gathering",key = "#gathering.id") public void update(Gathering gathering) { gatheringDao.save(gathering); }
Redis可以設(shè)置過(guò)期時(shí)間,springboot自帶的緩存不可以。
使用springboot自帶緩存步驟
1.在啟動(dòng)類(lèi)XXXApplication
添加注解@EnableCaching注解,表示要使用springboot的緩存
2.在service層需要使用緩存的方法
添加@Cacheable注解value-全局的key,key-表示某一條記錄的key,程序運(yùn)行時(shí)會(huì)優(yōu)先在緩存中根據(jù)value和key查找記錄,找不到才會(huì)執(zhí)行下面查詢(xún)語(yǔ)句,執(zhí)行查詢(xún)語(yǔ)句后返回的數(shù)據(jù)會(huì)存到緩存中。
3.修改和刪除數(shù)據(jù)時(shí)將緩存刪除
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring根據(jù)URL參數(shù)進(jìn)行路由的方法詳解
這篇文章主要給大家介紹了關(guān)于Spring根據(jù)URL參數(shù)進(jìn)行路由的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起來(lái)看看吧。2017-12-12Java代碼實(shí)現(xiàn)對(duì)properties文件有序的讀寫(xiě)的示例
本篇文章主要介紹了Java代碼實(shí)現(xiàn)對(duì)properties文件有序的讀寫(xiě)的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11使用SpringBoot和JPA實(shí)現(xiàn)批量處理新增、修改
最近項(xiàng)目需要在JPA中使用ID進(jìn)行批量更新,所以下面這篇文章主要給大家介紹了關(guān)于使用SpringBoot和JPA實(shí)現(xiàn)批量處理新增、修改的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06java中Calendar類(lèi)用法實(shí)例詳解
這篇文章主要介紹了java中Calendar類(lèi)用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Calendar類(lèi)的函數(shù)、方法功能與相關(guān)使用技巧,需要的朋友可以參考下2017-10-10Spring security BCryptPasswordEncoder密碼驗(yàn)證原理詳解
這篇文章主要介紹了Spring security BCryptPasswordEncoder密碼驗(yàn)證原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03兩種Spring服務(wù)關(guān)閉時(shí)對(duì)象銷(xiāo)毀的實(shí)現(xiàn)方法
spring提供了兩種方式用于實(shí)現(xiàn)對(duì)象銷(xiāo)毀時(shí)去執(zhí)行的操作,本文主要為大家詳細(xì)介紹了這兩種方式的具體實(shí)現(xiàn),文中的示例代碼講解詳細(xì),希望對(duì)大家有所幫助2023-04-04