SpringBoot整合redis使用緩存注解詳解
1.啟動類標明@EnableCaching
@SpringBootApplication @MapperScan("com.jx.luckyDraw.mapper") @EnableCaching public class LuckyDrawApplication { public static void main(String[] args) { SpringApplication.run(LuckyDrawApplication.class, args); } }
2.常用注解的種類
@Cacheable
@CachePut
@CacheEvict
2.1 作用
- @Cacheable:在方法執(zhí)行前判斷對應緩存是否存在,如果存在直接返回緩存結(jié)果,否者執(zhí)行方法將結(jié)果緩存,適用于查詢類。
- @CachePut:與@Cacheable不同的是@CachePut一定會執(zhí)行方法,并將方法的返回值更新到緩存,適用于更新,插入。
- @CacheEvict:清除緩存。
2.2 例子
@Cacheable
@Cacheable(cacheNames = "drawDetails", key = "#userId + ':' + #batchId", unless = "#result ==null") public DrawDetailPO getDrawDetails(String userId, Long batchId) {
當getDrawDetails方法的返回值不為null時,將方法的執(zhí)行結(jié)果按照#userId + ‘:’ + #batchId 的方式緩存到redis中。
redis中鍵名為:
drawDetails::81466011bd2a7cf40502a08827038390:1490935513660657664
@CacheEvict
@CacheEvict(value = {"drawBatch", "drawDetails"}, allEntries = true, condition = "#result > 0") @Override public int newDrawBatchInfo(Integer batchCount) {
當newDrawBatchInfo方法的返回值大于0時,將命名空間為drawBatch" 或者drawDetails的鍵全部刪除。
allEntries 默認為false,當有多個鍵時必須配置true才能刪除。
在這種沒指定key,使用默認keyGenerator 時,必須使用allEntries =true才能刪除
@Cacheable(cacheNames = "employeeSelectList", unless = "#result ==null") public List<HrmEmployeeSelectVO> querySelectList(HrmEmployeeSelectVO employeeSelectVO) { return employeeMapper.querySelectList(employeeSelectVO); }
@CacheEvict(value = "employeeSelectList",allEntries = true,condition = "#result = true ")
beforeInvocation 屬性:是否在方法執(zhí)行前刪除,默認為false。
到此這篇關(guān)于SpringBoot整合redis使用緩存注解詳解的文章就介紹到這了,更多相關(guān)SpringBoot整合redis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot整合Redis實現(xiàn)token緩存
- SpringBoot結(jié)合Redis實現(xiàn)緩存管理功能
- SpringBoot+MyBatis+Redis實現(xiàn)分布式緩存
- springboot使用redis注解做緩存的基本操作方式
- SpringBoot中Redis的緩存更新策略詳解
- springboot整合ehcache和redis實現(xiàn)多級緩存實戰(zhàn)案例
- SpringBoot結(jié)合Redis實現(xiàn)緩存
- SpringBoot使用Redis實現(xiàn)分布式緩存
- SpringBoot中的Redis?緩存問題及操作方法
- SpringBoot3.0集成Redis緩存的實現(xiàn)示例
相關(guān)文章
http協(xié)議進階之Transfer-Encoding和HttpCore實現(xiàn)詳解
這篇文章主要給大家介紹了http協(xié)議之Transfer-Encoding和HttpCore實現(xiàn)的相關(guān)資料,文中介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-04-04SpringBoot結(jié)合Quartz實現(xiàn)數(shù)據(jù)庫存儲
本文主要介紹了SpringBoot+Quartz+數(shù)據(jù)庫存儲,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01Spring中XmlWebApplicationContext的實現(xiàn)
XmlWebApplicationContext是Spring?Framework中的一個重要類,本文主要介紹了Spring中XmlWebApplicationContext,具有一定的參考價值,感興趣的可以了解一下2024-08-08springMVC自定義注解,用AOP來實現(xiàn)日志記錄的方法
下面小編就為大家分享一篇springMVC自定義注解,用AOP來實現(xiàn)日志記錄的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01