善用快取提高你的SPRING工程效率
歡迎檢視Java開發之上帝之眼系列教程,如果您正在為Java後端龐大的體系所困擾,如果您正在為各種繁出不窮的技術和各種框架所迷茫,那麼本系列文章將帶您窺探Java龐大的體系。本系列教程希望您能站在上帝的角度去觀察(瞭解)Java體系。使Java的各種後端技術在你心中模組化;讓你在工作中能將Java各個技術瞭然於心;能夠即插即用。本章我們來一起了解Spring工程中快取的使用。
快取可以儲存常用到的資訊,每次需要的時候我們都可以從快取中獲取,本章我們一起來進行了解Spring的快取抽象.儘管Spring沒有提供任何的快取的實現,但是它對快取功能提供了宣告式的支援,能夠與多種流行的快取進行整合
我們一般在Spring專案中使用快取功能我們需要對Spring專案進行一些相關的配置,流程如下
- 啟用對快取的支援
- 配置快取管理器
- 應用快取
啟用對快取的支援
JavaConfig配置啟用
@Configuration
@EnableCaching
public class SpringCacheConfig {
}
XML配置啟用
<!--啟用快取-->
<cache:annotation-driven/>
配置快取管理器
在Sring中我們可以使用很多的快取管理器的實現
- ConcurrentMapCacheManager
- SimpleCacheManager
- NoOpCacheManager
- CompositeCacheManager
- EhCacheCacheManager
- RedisCacheManager
- GemfireCacheManager
- …
JavaConfig配置快取管理器
@Bean
public CacheManager cacheManager() {
return new ConcurrentMapCacheManager();
}
XML配置快取管理器
<!--宣告快取管理器-->
<bean id="cacheManager" class="org.springframework.cache.concurrent.ConcurrentMapCacheManager"/>
應用快取
我們經常在專案中使用註解作用在方法上,使其應用快取,常見的註解如下
註解 | 描述 |
---|---|
@Cacheable | 先查快取,如果快取沒有呼叫方法,將返回值放入快取中 |
@CachePut | 始終都會將返回值放入快取中 |
@CacheEvict | 在快取中清除一個或者多個條目 |
@Caching | 分組的註解,能夠同時應用多個其他的快取註解 |
使用示例:查詢快取
@Cacheable(value = "UserCache", key = "#root.args[0]")
User getUser(String username);
使用示例:儲存快取
@CachePut(value = "UserCache", key = "#result.username")
User save(User user);
使用示例:移除快取
@CacheEvict("UserCache")
void remove(String username);
本章完整工程例項程式碼下載地址:完整專案演示工程點選下載
相關文章
- Mac小技巧:善用Mac自動化提高工作效率!Mac
- 提高爬蟲爬取效率的辦法爬蟲
- Spring 快取Spring快取
- 善用這些UI設計小技巧,快速提高你的設計水平UI
- 如何提高爬取爬蟲採集的效率?爬蟲
- Spring還可以這樣用快取,你知道嗎?Spring快取
- 讓你提高效率的Linux技巧Linux
- 4個Excel技巧,提高你的工作效率!Excel
- 讓你提高效率的 Linux 技巧Linux
- Laravel 實現二級快取 提高快取的命中率和細粒化快取 keyLaravel快取
- 【底層原理】從快取來看區域性性提高程式執行效率的原因快取
- 5、Spring Boot快取Spring Boot快取
- Spring Cache快取框架Spring快取框架
- 如何提高Redis快取命中率Redis快取
- 為什麼別人的工作效率比你快?這幾款實用的軟體幫你快速提高效率
- Spring 快取註解@Cacheable的用法Spring快取
- 如何提高在Spring Boot中使用MQ JMS的效率 -Mark TaylorSpring BootMQ
- Spring Boot Cache Redis快取Spring BootRedis快取
- Spring Cache快取註解Spring快取
- Spring 框架快取註解Spring框架快取
- 用好ngResource和postman,提高你的開發除錯效率Postman除錯
- 將Alfred與BetterZip整合,提高你的Mac工作效率AlfredMac
- 提高招人的效率
- 程式內快取助你提高併發能力!快取
- [譯] 提高營銷效率的工程(第一部分)
- Spring @cacheable註解實現的快取Spring快取
- 人人都應該知道的CPU快取執行效率快取
- 這些linux技巧大大提高你的工作效率Linux
- 13個幫你提高開發效率的現代CSS框架CSS框架
- 你應該知道的前端——快取前端快取
- OCR文字識別系統助力快遞行業提高快遞分揀效率行業
- spring配置redis註解快取SpringRedis快取
- [譯] 提高營銷效率的工程(二)—— 廣告製作和管理的規模化
- EVCache快取在 Spring Boot中的實戰快取Spring Boot
- Spring Boot基礎教程:EhCache快取的使用Spring Boot快取
- 你不知道的 PHP 快取技巧PHP快取
- spring 快取 @Cacheable 錯誤總結Spring快取
- 在Spring Boot快取API - Code FactorySpring Boot快取API