Spring Cache 解析
一. 要學Spring Cache第一步學:SpEL 表示式
SpEL有三種用法,一種是在註解@Value中;一種是XML配置;最後一種是在程式碼塊中使用Expression。
1 //@Value能修飾成員變數和方法形參
//#{}內就是表示式的內容
@Value("#{表示式}")
public String arg;
3 public static void main(String[] args) {
//建立ExpressionParser解析表示式
ExpressionParser parser = new SpelExpressionParser();
//表示式放置 大連無痛人流醫院
Expression exp = parser.parseExpression("表示式");
//執行表示式,預設容器是spring本身的容器:ApplicationContext
Object value = exp.getValue();}
spring cache 用第二類方式
二 .相關的註解 :
1. 主要註解:@Cacheable(value=”dicCollege”,key =CacheConstant.KEY_DIC_COLLEGE), {注意:就是redies儲存的key格式為dicCollege::CacheConstant.KEY_DIC_COLLEGE )}
//spring boot程式碼為:
@Cacheable(value = “dicCollege”,key =CacheConstant.KEY_DIC_COLLEGE)
public ResultJson list(@RequestBody PageWeb pageWeb){
}
這個註釋的意思是,當呼叫這個方法的時候,會從redies裡一個名叫 dicCollege加key欄位的快取中查詢。
如果沒有,則執行實際的方法(即查詢資料庫),並將執行的結果存入快取中,否則返回快取中的物件。
這裡的快取中的 key 就是入參的引數物件的相對於欄位。即使自己寫入的相應欄位。可以用sql表示式加自己需要的字串連線
我的CacheConstant.KEY_DIC_COLLEGE等於 'dicCollege-'+#pageWeb.pageNum+'-'+#pageWeb.pageSize+'-'+#pageWeb.params.getCollegeName()
及存入redies的值為:
1 null 引數分別為pageWeb的三個內部數: ’#pageWeb.pageNum','#pageWeb.pageSize'',‘#pageWeb.params.getCollegeName()‘
再次呼叫時,如果沒有呼叫增刪改,就可以直接從第三方redies呼叫。
2. 主要註解:@CacheEvict(value ="dicCollege",allEntries = true)
@CacheEvict 註釋來標記要清空快取的方法,當這個方法被呼叫後,即會清空快取。
一般用於增刪改 ,形式一般為:@CacheEvict(value = “dicCollege”,allEntries = true)
3 @CachePut 註釋,這個註釋可以確保方法被執行,同時方法的返回值也被記錄到快取中,實現快取與資料庫的同步更新(不常用)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70005147/viewspace-2786629/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Spring CacheSpring
- Spring Cache 介紹Spring
- 學習筆記:cache 和spring cache 技術2--spring cache 的基本使用 、spring-Redis整合筆記SpringRedis
- Spring Cache快取框架Spring快取框架
- Spring cache原始碼分析Spring原始碼
- mybatis原始碼學習------cache-ref和cache的解析MyBatis原始碼
- 學習筆記:cache 和spring cache 技術(1)筆記Spring
- Spring Cache快取註解Spring快取
- Spring Cache 帶你飛(二)Spring
- Spring Cache與Ehcache 3整合Spring
- Spring Cache 帶你飛(一)Spring
- 【轉載】Spring Cache介紹Spring
- Spring Boot Cache Redis快取Spring BootRedis快取
- Spring Boot 2.X(七):Spring Cache 使用Spring Boot
- 等待模擬-library cache 軟解析
- Spring Cache的基本使用與分析Spring
- 品味Spring Cache設計之美Spring
- Spring Cache + Caffeine的整合與使用Spring
- spring framwork解析Spring
- Spring Cache 缺陷,我好像有解決方案了Spring
- 等待模擬-library cache shared pool 硬解析
- 史上最全面的Spring Boot Cache使用與整合Spring Boot
- Spring Boot Cache配置 序列化成JSON字串Spring BootJSON字串
- Spring原始碼深度解析(郝佳)-學習-原始碼解析-Spring MVCSpring原始碼MVC
- spring ioc原理解析Spring
- Spring Data JPA:解析CriteriaBuilderSpringUI
- Spring Data JPA:解析CriteriaQuerySpring
- Spring AOP 原始碼解析Spring原始碼
- Spring Bean 標籤解析SpringBean
- Spring Session原理解析SpringSession
- Spring MVC 解析之 DispatcherServletSpringMVCServlet
- Shared pool的library cache lock/pin及硬解析
- 微服務spring-cloud中 redis cache annotation操作指北微服務SpringCloudRedis
- 註釋驅動的 Spring cache 快取介紹Spring快取
- 共享池之八:軟解析、硬解析、軟軟解析 詳解一條SQL在library cache中解析涉及的鎖SQL
- Spring Boot系列(四):Spring Boot原始碼解析Spring Boot原始碼
- [Spring 深度解析]第5章 Spring之DAOSpring
- Spring IOC 原理深層解析Spring