1. 程式人生 > >spring中的緩存

spring中的緩存

spring緩存

Spring中的cache是為方法做緩存的,spring只是提供了個緩存抽象,具體的實現由的三方提供。

要使用Spring緩存,需要以下三步

1.Spring配置文件導入context:命名空間

2.Spring配置文件啟用緩存,具體是添加 <cache:annotation-driven cache-manager="緩存管理器ID" />

3.配置緩存管理器,不同的緩存實現配置不同,如果是EhCache,需要先配置一個ehcache.xml

一、spring緩存配置的兩種方法

Spring的緩存方式有兩種,一種是直接緩存在內存中,不算真正的緩存實現。一般不推薦使用。這種內置緩存區,使用

SimpleCacheManager類作為緩存管理器,底層直接使用JDKCurrentMap來實現緩存,該緩存管理器配置如下:

技術分享圖片


第二種是使用Ehcache作為緩存配置:EhCache 是一個純Java的進程內緩存框架,具有快速、精幹等特點,是Hibernate中默認的CacheProvider。是一個第三方工具。

1. ehcache.xml的配置

技術分享圖片

上面的ehcache.xml配置了兩個緩存區,Spring中的Bean將會緩存在這些緩存區中,一般的,Spring容器中有多少個Bean,就會在ehcache中定義多少個緩存區。

2.配置緩存管理器

技術分享圖片

其中第一個Bean是一個工廠Bean,用來配置EhCache

CacheManager, 第二個Bean才是為Spring緩存配置的緩存管理器,所以將第一個Bean註入第二個Bean

二、相關註解的解釋

@Cacheable

技術分享圖片

@CachePut

技術分享圖片

@CacheEvict

技術分享圖片


spring中的緩存