SpringBoot入门六,添加ehcache缓存

1.pom.xml文件添加引用包

<!-- 开启cache缓存支持 -->
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-cache</artifactId>
</dependency>

<!-- 引入ehcache支持 -->
<dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache</artifactId>
</dependency>

2.添加ehcache的配置文件ehcache.xml(这个名字最好不要动)文件到resources文件中

如果是根目录下,springboot的配置文件不用做任何操作
如果是在非根目录下springboot的配置文件中需要指定具体的文件位置,如下:

<!-- 指定配置文件位置(不写则直接从classpath根目录下获取ehcache.xml的文件) -->
spring.cache.ehcache.config=classpath:ehcache/ehcache.xml

ehcache.xml文件内容

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="ehcache.xsd">
    <diskStore path="java.io.tmpdir"/>
    <defaultCache
        maxElementsInMemory="50000"
        maxElementsOnDisk="100000"
        eternal="true"
        overflowToDisk="true"
        diskPersistent="false"
        timeToIdleSeconds="0"
        timeToLiveSeconds="0"
        diskSpoolBufferSizeMB="50"
        diskExpiryThreadIntervalSeconds="120"
        memoryStoreEvictionPolicy="LFU"
        />

    <cache name="demoCache"
        maxElementsInMemory="1"
        maxElementsOnDisk="100000"
        eternal="false"
        overflowToDisk="true"
        diskPersistent="false"
        timeToIdleSeconds="0"
        timeToLiveSeconds="30"
        diskSpoolBufferSizeMB="50"
        diskExpiryThreadIntervalSeconds="120"
        memoryStoreEvictionPolicy="FIFO"
        />

    <cache name="demoCache02"
        maxElementsInMemory="1"
        maxElementsOnDisk="100000"
        eternal="false"
        overflowToDisk="true"
        diskPersistent="false"
        timeToIdleSeconds="0"
        timeToLiveSeconds="0"
        diskSpoolBufferSizeMB="50"
        diskExpiryThreadIntervalSeconds="120"
        memoryStoreEvictionPolicy="FIFO"
        />
</ehcache>

<!--
    diskStore:设置缓存文件 .data 的创建路径
                user.home – 用户主目录;
                user.dir – 用户当前工作目录
                java.io.tmpdir – 默认临时文件路径
    name:缓存名称.
    maxElementsInMemory:缓存最大个数.
    maxElementsOnDisk:磁盘中最大缓存对象数,若是0表示无穷大.
    eternal="false":缓存中对象是否为永久的,如果为true,超时设置将被忽略,对象从不过期
    overflowToDisk="true":当内存中对象数量达到maxElementsInMemory时,Ehcache将会对象写到磁盘中.
    diskPersistent:是否缓存虚拟机重启期数据,默认为false.
    timeToIdleSeconds:设置对象在失效前的允许闲置时间(单位:秒),当缓存闲置 n 秒后销毁.
                            仅当eternal=false对象不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大.
    timeToLiveSeconds:设置对象在失效前允许存活时间(单位:秒),从开始创建的时间算起,当缓存存活 n 秒后销毁.
                            最大时间介于创建时间和失效时间之间.仅当eternal=false对象不是永久有效时使用,默认是0.,也就是对象存活时间无穷大.
    diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小.默认是30MB.每个Cache都应该有自己的一个缓冲区.
    diskExpiryThreadIntervalSeconds:对象检测线程运行时间间隔.标识对象状态的线程多长时间运行一次.
    memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存.
                                    默认策略是LRU(最近最少使用).你可以设置为FIFO(先进先出)或是LFU(较少使用).
    clearOnFlush:内存数量最大时是否清除.
        -->  

3.springboot的启动类中添加@EnableCaching 注解

4.在需要使用的地方加上ehcache的注解即可

原文地址:http://blog.51cto.com/1197822/2287613

时间: 2024-10-08 16:44:08

SpringBoot入门六,添加ehcache缓存的相关文章

Mybatis入门实例(二)——添加ehcache缓存支持

为了提高MyBatis的性能,有时候我们需要加入缓存支持,目前用的比较多的缓存莫过于ehcache缓存了,ehcache性能强大,而且位各种应用都提供了解决方案,在此我们主要是做查询缓存,提高查询的效率. 在Mybatis的官网上把集成ehcache的文档下载下来看了看,说的太简单了,对于新手很难理解,而且里面说的也不是很清楚,经过一番折腾,终于将ehcache加入了. 官网上提供了一个MyBatis-ehcache.jar的包用于整合ehcache缓存,文档中还说明需要一个ehcache-co

SpringBoot入门九,添加shiro支持

项目基本配置参考SpringBoot入门一,使用myEclipse新建一个SpringBoot项目,使用myEclipse新建一个SpringBoot项目即可.现在来给项目添加shiro支持,数据暂时硬编码,不连接数据库,具体内容如下: 1. pom.xml添加以下配置信息 <!-- 开启shiro依赖 --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-s

SpringBoot入门二,添加JdbcTemplate数据源

项目基本配置参考上一篇文章SpringBoot入门一,使用myEclipse新建一个SpringBoot项目即可.现在来给项目添加一个JdbcTemplate数据源,添加方式非常简单,仅需两步即可,具体内容如下: 1. pom.xml添加以下配置信息 <!-- jdbcTemplate依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring

SpringBoot入门三,添加log4j2支持

项目基本配置参考文章SpringBoot入门一,使用myEclipse新建一个SpringBoot项目,使用myEclipse新建一个SpringBoot项目即可.现在来给项目添加一个log4j2支持,添加方式非常简单,仅需两步即可,具体内容如下: 1. pom.xml将原有的 logback 移除 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot

SpringBoot入门四,添加MyBatis支持

项目基本配置参考SpringBoot入门一,使用myEclipse新建一个SpringBoot项目,使用myEclipse新建一个SpringBoot项目即可.现在来给项目添加一个MyBatis支持,添加方式非常简单,仅需两步即可,具体内容如下: 1. pom.xml添加以下配置信息 数据源采用最新的hikari,据说性能相当牛X,想了解的可以去百度一下 <!-- 引入默认连接池,SpringBoot2.x采用hikari连接池 --> <dependency> <group

SpringBoot入门十三,添加RabbitMq

一. 概念说明 Broker:简单来说就是消息队列服务器实体.Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列.Queue:消息队列载体,每个消息都会被投入到一个或多个队列.Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来.Routing Key:路由关键字,exchange根据这个关键字进行消息投递.vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离.producer:消息生产者,就是投递消息的程序.co

SpringBoot入门八,添加定时任务

SpringBoot添加定时任务非常简单,只需要两步即可 1. SpringBoot启动类 添加@EnableScheduling注解,开启定时任务的配置 import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.Ena

SpringBoot入门十,添加junit单元测试

SpringBoot使用junit非常简单,我们来看一下,首先说明,这里使用的是springboot2.0.4的版本 一.pom.xml文件开启springboot测试包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope>

SpringBoot入门七,添加默认静态首页

目录resources/static下创建index.html文件即可(路径与文件名称均不可改变) 原文地址:http://blog.51cto.com/1197822/2288018