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
- Spring Cache快取框架Spring快取框架
- Spring cache原始碼分析Spring原始碼
- Spring Boot 2.X(七):Spring Cache 使用Spring Boot
- Spring Boot Cache Redis快取Spring BootRedis快取
- Spring Cache快取註解Spring快取
- Spring Cache 帶你飛(二)Spring
- Spring Cache與Ehcache 3整合Spring
- Spring Cache 帶你飛(一)Spring
- mybatis原始碼學習------cache-ref和cache的解析MyBatis原始碼
- Spring Cache + Caffeine的整合與使用Spring
- Spring Cache的基本使用與分析Spring
- 品味Spring Cache設計之美Spring
- Spring Boot Cache配置 序列化成JSON字串Spring BootJSON字串
- Spring Cache 缺陷,我好像有解決方案了Spring
- spring framwork解析Spring
- 企業級 SpringBoot 教程 (八)springboot整合spring cacheSpring Boot
- 史上最全面的Spring Boot Cache使用與整合Spring Boot
- Spring Boot @EnableAutoConfiguration解析Spring Boot
- spring 解析 @Configuration 流程Spring
- Spring原始碼深度解析(郝佳)-學習-原始碼解析-Spring MVCSpring原始碼MVC
- Spring AOP 原始碼解析Spring原始碼
- spring ioc原理解析Spring
- Spring MVC ControllerAdvice深入解析SpringMVCController
- Spring MVC 解析之 DispatcherServletSpringMVCServlet
- Spring Bean 標籤解析SpringBean
- Spring Data JPA:解析SimpleJpaRepositorySpring
- Spring Session原理解析SpringSession
- Spring Data JPA:解析CriteriaQuerySpring
- Spring Data JPA:解析CriteriaBuilderSpringUI
- Spring Boot系列(四):Spring Boot原始碼解析Spring Boot原始碼
- [Spring 深度解析]第5章 Spring之DAOSpring
- 基於Spring Cache實現二級快取(Caffeine+Redis)Spring快取Redis
- spring — Spring中的事件驅動機制解析Spring事件
- 【Spring】BeanFactory 解析 bean 詳解SpringBean
- Spring 事務原始碼解析Spring原始碼
- Spring AOP代理執行解析Spring