spring boot中使用ehcache

1在启动类上使用注解

@SpringBootApplication

@EnableCaching

public class ConfApplication {

......

}

2在resources资源文件夹中添加ehcache.xml

<ehcache>



<!--

磁盘存储:将缓存中暂时不使用的对象,转移到硬盘,类似于Windows系统的虚拟内存

path:指定在硬盘上存储对象的路径

path可以配置的目录有:

user.home(用户的家目录)

user.dir(用户当前的工作目录)

java.io.tmpdir(默认的临时目录)

ehcache.disk.store.dir(ehcache的配置目录)

绝对路径(如:d:\ehcache)

查看路径方法:String tmpDir = System.getProperty("java.io.tmpdir");

-->

<diskStore path="java.io.tmpdir" />



<!--

defaultCache:默认的缓存配置信息,如果不加特殊说明,则所有对象按照此配置项处理

maxElementsInMemory:设置了缓存的上限,最多存储多少个记录对象

eternal:代表对象是否永不过期 (指定true则下面两项配置需为0无限期)

timeToIdleSeconds:最大的发呆时间 /秒

timeToLiveSeconds:最大的存活时间 /秒

overflowToDisk:是否允许对象被写入到磁盘

说明:下列配置自缓存建立起600秒(10分钟)有效 。

在有效的600秒(10分钟)内,如果连续120秒(2分钟)未访问缓存,则缓存失效。

就算有访问,也只会存活600秒。

-->

<defaultCache maxElementsInMemory="10000" eternal="false"

timeToIdleSeconds="600" timeToLiveSeconds="600" overflowToDisk="true" />



<cache name="productCache" maxElementsInMemory="10000" eternal="false"

timeToIdleSeconds="120" timeToLiveSeconds="600" overflowToDisk="true" />



</ehcache>

3在使用的方法上添加注解

/**

* 根据产品code取产品信息

*

* @param assetProductCode 资产产品code

* @return 资产产品信息

*/

@Cacheable(value = "#{root.methodName}+#{arg[0]}")

public ProductInformation getProductByProductCodeCache(Long assetProductCode) {

//若找不到缓存将打印出提示语句

System.err.println("没有走缓存!"+assetProductCode);

return productInformationMapper.getByProductCode(assetProductCode);

}
原文地址:https://www.cnblogs.com/telwanggs/p/10809603.html