Spring系列-ehcache配置

作者: 憨厚的老菜鸟 | 来源:发表于2017-02-02 11:27 被阅读41次

Ehcache是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大,最初知道它,是从Hibernate的缓存开始的。它具有快速轻量、伸缩性强、灵活性高、支持标准、易扩展、应用持久化、缓存监听等特点。

这里主要介绍一下如何与spring结合使用。

1、所需jar包

maven工程需要引入如下jar包,如果是普通工程,需要自行下载。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>${spring_version}</version>
</dependency>
<dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache</artifactId>
    <version>${ehcache_version}</version>
</dependency>

Ehcache.xml

<?xml version="1.0" encoding="UTF-8"?>
<ehcache updateCheck="false">
    <diskStore path="java.io.tmpdir"/>
    <!--
           name:缓存名称。
           maxElementsInMemory:缓存最大个数。
           eternal:对象是否永久有效,一但设置了,timeout将不起作用。
           timeToIdleSeconds:设置对象在失效前的允许闲置时间(单位:秒)。
                    仅当eternal=false对象不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。
           timeToLiveSeconds:设置对象在失效前允许存活时间(单位:秒)。最大时间介于创建时间和失效时间之间。
                        仅当eternal=false对象不是永久有效时使用,默认是0.,也就是对象存活时间无穷大。
           overflowToDisk:当内存中对象数量达到maxElementsInMemory时,Ehcache将会对象写到磁盘中。
           diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。
           maxElementsOnDisk:硬盘最大缓存个数。
           diskPersistent:是否缓存虚拟机重启期数据 Whether the disk store persists between restarts
                    of the Virtual Machine. The default value is false.
           diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒。
           memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。
                            默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用)。
           clearOnFlush:内存数量最大时是否清除。
        -->
    <defaultCache
            maxElementsInMemory="10000"
            eternal="false"
            timeToIdleSeconds="60"
            timeToLiveSeconds="60"
            overflowToDisk="true"
            maxElementsOnDisk="10000000"
            diskPersistent="false"
            diskExpiryThreadIntervalSeconds="120"
            memoryStoreEvictionPolicy="LRU"
    />
</ehcache>

spring配置

今天所说的配置是使用JavaConfig配置,而不是通过xml配置的,如果读者有需要,可以给 我留言。

Configuration
//启用缓存注解
@EnableCaching
public class EhcacheConfig {

    private static final Logger logger = LogManager.getLogger(LogManager.ROOT_LOGGER_NAME);


    @Bean
    public EhCacheManagerFactoryBean ehCacheManagerFactoryBean() {
        EhCacheManagerFactoryBean ehCacheManagerFactoryBean = new EhCacheManagerFactoryBean();
        ehCacheManagerFactoryBean.setConfigLocation(new ClassPathResource(
                "ehcache.xml"));
        return ehCacheManagerFactoryBean;
    }

    @Bean
    public CacheManager cacheManager() {
        logger.info("EhCacheCacheManager");
        EhCacheCacheManager cacheManager = new EhCacheCacheManager();
        cacheManager.setCacheManager(ehCacheManagerFactoryBean().getObject());
        return cacheManager;
    }

}

相关文章

  • Hibernate Ehcache 配置

    hibernate 默认使用 ehcache 缓存策略ehcache 配置 hibernate 配置 Spring...

  • Spring系列-ehcache配置

    Ehcache是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大,最初知道它,是从Hibernat...

  • Mybatis缓存配置

    pom文件配置: spring加载ehcache配置文件 ehcache.xml: mybatis.xml开启缓存...

  • EhCache使用笔记

    1、为什么使用EhCache? 2、在maven+spring + ehcache整合配置 2.1、pom文件添加...

  • Spring的缓存机制

    Spring的缓存机制启用Spring缓存Spring内置缓存实现的配置EhCache缓存实现的配置使用@Cach...

  • Ehcache详解

    1 cacheManager 的构建 Spring + Ehcache的配置 在Spring项目中只要注入cach...

  • Ehcache结合Spring

    本章介绍Ehcache结合Spring实现服务层的缓存,其他还有数据层缓存和页面缓存。 添加依赖 spring配置...

  • spring + ehcache 基本配置

    appcontent.xmlechache.xml

  • Spring Boot整合EhCache

    本文讲解Spring Boot与EhCache的整合。 1 EhCache简介 EhCache 是一个纯Java的...

  • 缓存:Ehcache集成

    ehcache.xml shiro-ehcache.xml (框架自带的xml) 配置类

网友评论

    本文标题:Spring系列-ehcache配置

    本文链接:https://www.haomeiwen.com/subject/fwtrittx.html