spring cache ehcache2.x 基于spring boot 整合

引入缓存
在pom.xml中引入依赖,添加如下内容:

    <dependency>
        <groupId>net.sf.ehcachegroupId>
        <artifactId>ehcacheartifactId>
        <version>2.7.6version>
    dependency>

    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-cacheartifactId>
    dependency>

在Spring Boot主类中增加@EnableCaching注解开启缓存功能,如下:

@SpringBootApplication
@EnableCaching
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

在数据访问接口中,增加缓存配置注解,如:

@CacheConfig(cacheNames = "city")
public interface CityDao{

    @Cacheable
    User findByName(String name);
}

spring cache相关注解,此处就不必多说了,详情
在Spring Boot中开启EhCache非常简单,只需要在工程中加入ehcache.xml配置文件并在pom.xml中增加ehcache依赖,框架只要发现该文件,就会创建EhCache的缓存管理器

在src/main/resources目录下创建:ehcache.xml


<ehcache updateCheck="false"> 
    <diskStore path="java.io.tmpdir"/> 
    <defaultCache 
            maxElementsInMemory="10000" 
            eternal="false" 
            timeToIdleSeconds="3600" 
            timeToLiveSeconds="3600" 
            overflowToDisk="true" 
            maxElementsOnDisk="10000000" 
            diskPersistent="false" 
            diskExpiryThreadIntervalSeconds="120" 
            memoryStoreEvictionPolicy="LRU" 
            /> 
      <cache name="ehcache"
            maxElementsInMemory="10000" 
            eternal="false" 
            timeToIdleSeconds="3600" 
            timeToLiveSeconds="3600" 
            overflowToDisk="true" 
            maxElementsOnDisk="10000000" 
            diskPersistent="false" 
            diskExpiryThreadIntervalSeconds="120" 
            memoryStoreEvictionPolicy="LRU" 
        />      
ehcache>

对于EhCache的配置文件也可以通过application.properties文件中使用spring.cache.ehcache.config属性来指定,比如:

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

你可能感兴趣的:(spring,boot)