springboot自帶的緩存@EnableCaching用法
springboot自帶的緩存@EnableCaching
一般使用springboot自帶緩存時,直接就在啟動類里添加注解@EnableCaching 。
@EnableCaching她有兩個經(jīng)常使用的方法
1.@Cacheable添加緩存
這里的value 是該緩存的名稱,可以隨意寫,而key要嚴(yán)格按照查詢條件來寫,比如這里是查詢條件id.
? ?@Cacheable(value = "gathering",key = "#id")
?? ?public Gathering findById(String id) {
?? ??? ?return gatheringDao.findById(id).get();
?? ?}查詢數(shù)據(jù)庫已有的數(shù)據(jù),第一次緩存沒有該數(shù)據(jù),直接走數(shù)據(jù)庫,然后存入緩存

第二次查詢該數(shù)據(jù),發(fā)現(xiàn)緩存中存在key已有的數(shù)據(jù),直接走緩存不走數(shù)據(jù)庫

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è)置過期時間,springboot自帶的緩存不可以。
使用springboot自帶緩存步驟
1.在啟動類XXXApplication
添加注解@EnableCaching注解,表示要使用springboot的緩存

2.在service層需要使用緩存的方法
添加@Cacheable注解value-全局的key,key-表示某一條記錄的key,程序運行時會優(yōu)先在緩存中根據(jù)value和key查找記錄,找不到才會執(zhí)行下面查詢語句,執(zhí)行查詢語句后返回的數(shù)據(jù)會存到緩存中。

3.修改和刪除數(shù)據(jù)時將緩存刪除


以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JSON.parseObject和JSON.toJSONString實例詳解
這篇文章主要為大家詳細(xì)介紹了JSON.parseObject和JSON.toJSONString實例,具有一定的參考價值,感興趣的朋友可以參考一下2018-06-06
Spring MVC如何設(shè)置請求頭和響應(yīng)頭的Header
這篇文章主要介紹了Spring MVC如何設(shè)置請求頭和響應(yīng)頭的Header問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03
java定義通用返回結(jié)果類ResultVO使用示例詳解
這篇文章主要為大家介紹了java定義通用返回結(jié)果類ResultVO使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
微服務(wù)分布式架構(gòu)實現(xiàn)日志鏈路跟蹤的方法
在現(xiàn)有的系統(tǒng)中,由于大量的其他用戶/其他線程的日志也一起輸出穿行其中導(dǎo)致很難篩選出指定請求的全部相關(guān)日志。那我們?nèi)绾蝸硖幚砟??帶著這個問題一起通過本文學(xué)習(xí)下吧2021-08-08
Struts2 ActionContext 中的數(shù)據(jù)詳解
這篇文章主要介紹了Struts2 ActionContext 中的數(shù)據(jù)詳解,需要的朋友可以參考下2016-07-07

