Spring Boot 集成 Ehcache 緩存,三步搞定

來源:www.ramostear.com/articles/spring_boot_ehcache.html

本次內容主要介紹基於Ehcache 3.0來快速實現Spring Boot應用程序的數據緩存功能。在Spring Boot應用程序中,我們可以通過Spring Caching來快速搞定數據緩存。

接下來我們將介紹如何在三步之內搞定 Spring Boot 緩存。

1. 創建一個Spring Boot工程

你所創建的Spring Boot應用程序的maven依賴文件至少應該是下面的樣子:

Spring Boot 集成 Ehcache 緩存,三步搞定

Spring Boot 集成 Ehcache 緩存,三步搞定

Spring Boot 集成 Ehcache 緩存,三步搞定

依賴說明:

spring-boot-starter-cache為Spring Boot應用程序提供緩存支持

ehcache提供了Ehcache的緩存實現

cache-api 提供了基於JSR-107的緩存規範

2. 配置Ehcache緩存

現在,需要告訴Spring Boot去哪裡找緩存配置文件,這需要在Spring Boot配置文件中進行設置:

spring.cache.jcache.config=classpath:ehcache.xml

然後使用@EnableCaching註解開啟Spring Boot應用程序緩存功能,你可以在應用主類中進行操作:

Spring Boot 集成 Ehcache 緩存,三步搞定

接下來,需要創建一個 ehcache 的配置文件,該文件放置在類路徑下,如resources目錄下:

Spring Boot 集成 Ehcache 緩存,三步搞定

Spring Boot 集成 Ehcache 緩存,三步搞定

最後,還需要定義個緩存事件監聽器,用於記錄系統操作緩存數據的情況,最快的方法是實現CacheEventListener接口:

Spring Boot 集成 Ehcache 緩存,三步搞定

3. 使用@Cacheable註解

要讓Spring Boot能夠緩存我們的數據,還需要使用@Cacheable註解對業務方法進行註釋,告訴Spring Boot該方法中產生的數據需要加入到緩存中:

Spring Boot 集成 Ehcache 緩存,三步搞定

通過以上三個步驟,我們就完成了Spring Boot的緩存功能。接下來,我們將測試一下緩存的實際情況。

4. 緩存測試

為了測試我們的應用程序,創建一個簡單的Restful端點,它將調用PersonService返回一個Person對象:

Spring Boot 集成 Ehcache 緩存,三步搞定

Person是一個簡單的POJO類:

Spring Boot 集成 Ehcache 緩存,三步搞定

以上準備工作都完成後,讓我們編譯並運行應用程序。項目成功啟動後,使用瀏覽器打開:http://localhost:8080/persons/1 ,你將在瀏覽器頁面中看到如下的信息:

Spring Boot 集成 Ehcache 緩存,三步搞定

由於我們是第一次請求API,沒有任何緩存數據。因此,Ehcache創建了一條緩存數據,可以通過CREATED看一瞭解到。

我們在ehcache.xml文件中將緩存過期時間設置成了1分鐘(1),因此在一分鐘之內我們刷新瀏覽器,不會看到有新的日誌輸出,一分鐘之後,緩存過期,我們再次刷新瀏覽器,將看到如下的日誌輸出:

Spring Boot 集成 Ehcache 緩存,三步搞定

第一條日誌提示緩存已經過期,第二條日誌提示Ehcache重新創建了一條緩存數據。

結束語

在本次案例中,通過簡單的三個步驟,講解了基於 Ehcache 的 Spring Boot 應用程序緩存實現。

文章內容重在緩存實現的基本步驟與方法,簡化了具體的業務代碼,有興趣的朋友可以自行擴展,期間遇到問題也可以隨時與我聯繫。


分享到:


相關文章: