ehchache验证缓存过期的api_SpringBoot - 缓存的使用详解1(使用Ehcache 2.x缓存)

本文详细介绍了如何在SpringBoot中使用Ehcache 2.x进行缓存配置,包括添加依赖、配置文件设置、开启缓存、缓存注解的使用,如@Cacheable、@CachePut和@CacheEvict。并通过实例展示了缓存操作和自定义KeyGenerator的方法。
摘要由CSDN通过智能技术生成

Spring 3.1中开始对缓存提供支持,核心思路是对方法的缓存,当我们调用一个方法时,将方法的参数和返回值作为 key/value缓存起来,当再次调用该方法时,如果缓存中有数据,就直接从缓存中获取,否则再去执行该方法。

Spring并未提供缓存的实现,我们可以自由选择缓存的实现,目前Spring Boot支持的缓存有 JCache、EhCache 2.x、Redis....。不过无论使用那种缓存实现,不同的只是缓存配置,开发者使用的缓存注解都是一样的。

一、使用 Ehchche 2.x 缓存

1,添加依赖

首先编辑项目的pom.xml文件,添加 spring-boot-starter-cache 依赖以及 Ehcache依赖:

org.springframework.boot

spring-boot-starter-cache

net.sf.ehcache

ehcache

2,添加缓存配置文件

在 resources目录下创建ehcache.xml 文件作为 Ehcache缓存的配置文件,内容如下:

(1)如果 Ehcache的依赖存在,并且在 classpath下又一个名为encache.xml 的 Ehcache配置文件,那么 EhCacheManager将会自动作为缓存的实现。

(2)这是一个常规的 Ehcache配置文件,提供了两个缓存策略,一个是默认的,另一个名为 book_cache。具体参数作用如下:

name:缓存名称

maxElementsInMemory:缓存最大个数

eternal:缓存对象是否永久有效,一但设置了永久有效,timeout将不起作用。

timeToIdleSeconds:缓存对象在失效前的允许闲置时间(单位:秒)。仅当 eternal=false对象不是永久有效时,该属性才生效。默认值是0,也就是可闲置时间无穷大。

timeToLiveSeconds:缓存对象在失效前允许存活时间(单位:秒)。仅当 eternal=false 对象不是永久有效时,该属性才生效。默认值是 0,也就是存活时间无穷大。

overflowToDisk:表示内存中的数量达到 maxElementsInMemory时,Ehcache是否将对象写到磁盘中。

diskPersistent:是否缓存虚拟机重启期数据。

diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是 120秒。

(3)如果我们想要自定 Ehcache配置文件的名称和位置,可以在application.properties中添加如下配置:

spring.cache.ehcache.c

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值