行业资讯 2025年08月6日
0 收藏 0 点赞 315 浏览 2120 个字
摘要 :

文章目录 第一步:导入maven依赖 第二步:配置ehcache.xml 第三步:配置application.yaml 第四步:启用缓存 最近想在Springboot 项目中整合 Ehcache3 缓存,我们讲下详……




  • 第一步:导入maven依赖
  • 第二步:配置ehcache.xml
  • 第三步:配置application.yaml
  • 第四步:启用缓存

最近想在Springboot 项目中整合 Ehcache3 缓存,我们讲下详细配置整合步骤。首先说下版本,我这里是使用的springboot 2.6.6版本,选择的Ehcache3 是3.10.8版本。

第一步:导入maven依赖

maven依赖需要有三个,配置如下:

<!-- 引入Spring Boot缓存依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-cache</artifactId>
    <version>2.6.6</version>
</dependency>

<!-- 引入EhCache缓存库依赖 -->
<dependency>
    <groupId>org.ehcache</groupId>
    <artifactId>ehcache</artifactId>
    <version>3.10.8</version>
</dependency>
<dependency>
    <groupId>javax.cache</groupId>
    <artifactId>cache-api</artifactId>
    <version>1.1.1</version>
</dependency>

第二步:配置ehcache.xml

我这里使用的是xml配置方式,当然你也可以选择@Configuration代码配置方式,个人觉得还是xml配置方式更加清晰明了。

在resources目录下新增ehcache.xml,具体配置如下:

<?xml version=\"1.0\" encoding=\"UTF-8\"?>

<config
        xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\'
        xmlns=\'http://www.ehcache.org/v3\'
        xsi:schemaLocation=\"http://www.ehcache.org/v3 http://www.ehcache.org/schema/ehcache-core.xsd\">

    <!-- 指定硬盘存储目录,如用不到硬盘缓存,无需设置 -->
    <persistence directory=\"./ehcacheData\" />

    <!-- cache-template  创建公开配置,被继承用 -->
    <cache-template name=\"myDefaults\">
        <key-type>java.lang.Long</key-type>
        <value-type>java.lang.String</value-type>
        <heap unit=\"entries\">200</heap>
    </cache-template>

    <!-- 继承自myDefaults,并重写其参数 这里是一个demo -->
    <cache alias=\"demo\" uses-template=\"myDefaults\">
        <key-type>java.lang.String</key-type>
        <expiry>
            <!--此处会覆盖模版中的(TTL)配置 -->
            <ttl unit=\"days\">90</ttl>
        </expiry>
        <resources>
            <heap unit=\"entries\">2000</heap>
            <offheap unit=\"MB\">100</offheap>
        </resources>
    </cache>
</config>

更多配置参数请参考官网:https://www.ehcache.org/documentation/

第三步:配置application.yaml

这里需要注意ehcache3和ehcache2版本配置不一样,这是我们使用的是jcache,而不是ehcache,在application.yaml中新增配置如下:

spring:
    cache:
        type: jcache
        jcache:
          config: classpath:ehcache.xml

第四步:启用缓存

我们需要在Application.java程序启动入口文件上新增启用ehcache缓存的注解,如下:

@EnableCaching

至此,springboot已经整合好了ehcache3了,接下来就是使用了,只需要结合Spring中@Cacheable注解即可使用,以下是类似代码:

@Cacheable(cacheNames = \"demo\", key = \"#province\")
public String findPostcodeByRegion(String province) {
    // 省略
}

注意这里的cacheNames要和ehcache.xml中配置保持一致,否则会找不到该缓存。

@Cacheable注解更详细的用法请参考文章:

Spring Boot缓存中的@Cacheable注解详解

文章目录 一、Spring Boot缓存基础概念 (一)缓存的引入 (二)Cache和CacheManager […]

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/10287.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号