【SpringBoot】在SpringBoot中使用Ehcache

本文介绍了如何在SpringBoot应用中使用Ehcache作为缓存管理器。首先,文章解释了SpringBoot的缓存机制,然后详细阐述了如何添加Ehcache依赖,配置ehcache.xml文件,以及设置各种缓存策略。接着,文章讨论了在启动类中启用缓存的@EnableCaching注解,以及在Service层使用@Cacheable、@CacheEvict和@CachePut注解进行缓存操作的方法。最后,文章提到了@Cacheable的key生成问题,并给出了自定义key的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot提供了对缓存的支持,通过在启动类中添加@EnableCaching注解自动化配置合适的缓存管理器(CacheManager),Spring Boot根据下面的顺序去侦测缓存提供者:

  • Generic
  • JCache (JSR-107)
  • EhCache 2.x
  • Hazelcast
  • Infinispan
  • Redis
  • Guava
  • Simple

SpringBoot的缓存机制:
SpringBoot缓存是依赖于由org.springframework.cache.Cache和org.springframework.cache.CacheManager接口实现的抽象高速缓存,不提供实际的存储,SpringBoot会根据实现自动配置合适的CacheManager,只要缓存支持通过@EnableCaching注释启用即可。基于Ehcache API实现的缓存操作工具类

SpringBoot 配置 EhCache 2.x
一、在pom文件中引入Ehcache依赖
这里写图片描述
二、在resources根目录下引入配置文件 ehcache.xml,增加需要的缓存配置
这里写图片描述
Ehcache.xml 文件配置详解:

  1. diskStore:为缓存路径,ehcache分为内存和磁盘两级,此属性定义磁盘的缓存位置。
  2. defaultCache:默认缓存策略,当ehcache找不到定义的缓存时,则使用这个缓存策略。只能定义一个。 name:缓存名称。
  3. maxElementsInMemory:缓存最大数目 maxElementsOnDisk:硬盘最大缓存个数。
  4. eternal:对象是否永久有效,一但设置了,timeout将不起作用。 overflowToDisk:是否保存到磁盘,当系统当机时
  5. timeToIdleSeconds:设置对象在失效前的允许闲置时间(单位:秒)。仅当eternal=false对象不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。
  6. timeToLiveSeconds:设置对象在失效前允许存活时间(单位:秒)。最大时间介于创建时间和失效时间之间。仅当et
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值