SpringBoot优雅的集成EhCache

最近在开发一个新项目 , 用的框架(中间件)比较多 , 所以最近的文章 , 都会以优雅的实战为主 , 也可以是框架(中间件)的简单DEMO 。
今天给大家带来EhCache在SpringBoot框架下使用实战 。
简介
EhCache 是一个纯JAVA的进程内缓存框架 , 具有快速、精干等特点 。
注意概念中的关键词进程内 , 他传递了两个关键点:
 

  1. 速度快(进程内剔除了各种切换资源的损耗);
  2. 单机适用;
 
现在我们说缓存 , 迅速想到的绝对是我们的redis , 其实在java生态下 , 有很多场景我们用EhCache更合理 。
我这里简单的区分一下什么时候使用Redis , 什么时候使用EhCache 。
当我们的缓存需要多个进程(分布式)共享的时候 , 使用Redis , 如果只是单机、单应用内的常见缓存 , 使用EhCache 。
这篇文章不介绍太多的概念与配置 , 比较偏实战 , 老规矩 , 上导读图 , 直接进入实战环节 。
SpringBoot优雅的集成EhCache

文章插图
 
优雅的集成EhCache
SpringBoot集成实战创建项目
SpringBoot优雅的集成EhCache

文章插图
 
创建Maven项目
引入依赖
分别引入spring-boot-starter-web、spring-boot-starter-cache、cache-api、ehcache四个包
org.springframework.boot spring-boot-starter-web 2.6.1 org.springframework.boot spring-boot-starter-cache 2.6.1 javax.cache cache-api 1.1.1 org.ehcache ehcache 3.8.1
记得刷新Maven引用
SpringBoot优雅的集成EhCache

文章插图
 
刷新Maven引用
配置启动类
SpringBoot优雅的集成EhCache

文章插图
 
配置启动类
指定配置
新建配置文件 Application.properties 和 ehcache.xml
SpringBoot优雅的集成EhCache

文章插图
 
application.properties内容
ehcache.xml定义一个缓存模块 , 指定key和value的类型 , 指定过期时间 。
java.lang.String java.lang.String 30 2 10
增加配置注解config文件
SpringBoot优雅的集成EhCache

文章插图
 
通过配置注解开启EhCache
模拟场景
从控制器进入查找用户 , 查看是否多次调用Service的接口 。
SpringBoot优雅的集成EhCache

文章插图
 
整体代码结构
SpringBoot优雅的集成EhCache

文章插图
 
控制器入口
SpringBoot优雅的集成EhCache

文章插图
 
service定义
场景测试
通过启动类 , 启动服务 。
浏览器访问:http://localhost:8001/user/1
SpringBoot优雅的集成EhCache

文章插图
 
浏览器访问结果
第一次控制台输出:
SpringBoot优雅的集成EhCache


推荐阅读