摘要:一三個(gè)常用注解例子注解中存在有以下幾個(gè)元素可看做命名空間,表示存儲(chǔ)到哪個(gè)緩存之下配置多個(gè)緩存時(shí),選擇其一進(jìn)行存儲(chǔ)。例子用于標(biāo)注需要?jiǎng)h除緩存的方法,函數(shù)一定會(huì)運(yùn)行,并且運(yùn)行完成后刪除下該的緩存。
一、三個(gè)常用注解
@Cacheable
例子:
public class QueryVo{ private Long id; private String storeUser; private String storeCar; ... } @Cacheable(value="myredis",key=""user_" + #vo.storeUser + "_storecar_" + #vo.storeCar") public XXXX getXXXX(QueryVo vo) { ... }
注解@Cacheable中存在有以下幾個(gè)元素:
①value : 可看做命名空間,表示存儲(chǔ)到哪個(gè)緩存之下(配置多個(gè)緩存時(shí),選擇其一進(jìn)行存儲(chǔ))。
----------------------------------spring-redis.xml----------------------------------------
②key : 表示命名空間下(該緩存下)緩存唯一key值
上述例子中其生成key值例如:user_tom_storecar_BMW750
@Cacheable 用于標(biāo)注需要緩存方法,當(dāng)執(zhí)行該方法傳入相同參數(shù)時(shí),先從緩存中取值,未取到則運(yùn)行函數(shù),取到直接返回結(jié)果,不運(yùn)行函數(shù)。
@CacheEvict
例子:
@CacheEvict(value="myredis",key=""user_" + #vo.storeUser + "_storecar_" + #vo.storeCar") public XXXX deleteXXXX(QueryVo vo) { ... }
@CacheEvict 用于標(biāo)注需要?jiǎng)h除緩存的方法,函數(shù)一定會(huì)運(yùn)行,并且運(yùn)行完成后刪除myredis下該key的緩存。
若該函數(shù)運(yùn)行完需要?jiǎng)h除多個(gè)緩存,寫法:
@Caching( evict = { @CacheEvict(value="myredis",key=""user_"+#vo.storeUser+"_storecar_all""), @CacheEvict(value="myredis",key=""user_"+#vo.storeUser+"_storecar_" + #vo.storeCar") } ) public XXXX deleteXXXX(QueryVo vo) { ... }
@CachePut
例子:
@CachePut(value="myredis",key=""user_" + #vo.storeUser + "_storecar_" + #vo.storeCar") public XXXX modifyXXXX(QueryVo vo) { ... }
@CachePut 用于標(biāo)注需要寫入緩存的方法,函數(shù)運(yùn)行前不查詢緩存,函數(shù)必將執(zhí)行且將結(jié)果以該key寫入緩存,如果key已經(jīng)存在就覆蓋掉之前的緩存,可用于后臺(tái)保存配置時(shí)及時(shí)刷新緩存。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/69230.html
摘要:它通過使用來連接消息代理中間件以實(shí)現(xiàn)消息事件驅(qū)動(dòng)的微服務(wù)應(yīng)用。該示例主要目標(biāo)是構(gòu)建一個(gè)基于的微服務(wù)應(yīng)用,這個(gè)微服務(wù)應(yīng)用將通過使用消息中間件來接收消息并將消息打印到日志中。下面我們通過編寫生產(chǎn)消息的單元測(cè)試用例來完善我們的入門內(nèi)容。 之前在寫Spring Boot基礎(chǔ)教程的時(shí)候?qū)戇^一篇《Spring Boot中使用RabbitMQ》。在該文中,我們通過簡(jiǎn)單的配置和注解就能實(shí)現(xiàn)向Rabbi...
摘要:它是事件驅(qū)動(dòng)的,我們不斷的發(fā)送消息接受消息處理消息。使用消息實(shí)現(xiàn)事件通信的概念被稱為消息驅(qū)動(dòng)架構(gòu),也被稱為消息驅(qū)動(dòng)架構(gòu)。許可證服務(wù)收到該消息后清除對(duì)應(yīng)的緩存。通過綁定器,使得開發(fā)人員不必依賴于特定平臺(tái)的庫(kù)和來發(fā)布和消費(fèi)消息。 showImg(https://segmentfault.com/img/remote/1460000019542885); springcloud 總集:htt...
摘要:在生態(tài)系統(tǒng)中,以和為代表的微服務(wù)框架,引入了全新的編程模型,包括注解驅(qū)動(dòng)外部化配置以及自動(dòng)裝配等。新的編程模型無需配置簡(jiǎn)化部署提升開發(fā)效率。同時(shí),新的編程模型也是即將發(fā)布的的基礎(chǔ)設(shè)施。 原文地址 整體愿景 隨著微服務(wù)架構(gòu)的廣泛地推廣和實(shí)施。在 Java 生態(tài)系統(tǒng)中,以 Spring Boot 和 Spring Cloud 為代表的微服務(wù)框架,引入了全新的編程模型,包括注解驅(qū)動(dòng)(Anno...
摘要:需求整合框架做一個(gè)保存用戶的業(yè)務(wù),業(yè)務(wù)比較簡(jiǎn)單,重在框架整合。 需求:整合ssh框架做一個(gè)保存用戶的業(yè)務(wù),業(yè)務(wù)比較簡(jiǎn)單,重在ssh框架整合。創(chuàng)建數(shù)據(jù)庫(kù)和表 CREATE DATABASE ssh01; USE DATABASE; 表由Hibernate創(chuàng)建,可以看配置是否成功 一:導(dǎo)入jar包 Hibernate需要jar Hibernate基本jar mysql驅(qū)動(dòng) ...
閱讀 1957·2021-10-09 09:44
閱讀 3457·2021-09-28 09:35
閱讀 1455·2021-09-01 10:31
閱讀 1713·2019-08-30 15:55
閱讀 2804·2019-08-30 15:54
閱讀 988·2019-08-29 17:07
閱讀 1429·2019-08-29 15:04
閱讀 2060·2019-08-26 13:56