springboot 中使用ehcache缓存
Ehcache 也是 Java 领域比较优秀的缓存方案之一Spring Boot 中对此也提供了很好的支持,这个支持主要是通过 Spring Cache 来实现的。
ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。
项目地址:https://github.com/heng1234/springboot2.x/tree/master/boot_cache
Spring cache缓存注解介绍



@CacheConfig
这个注解在类上使用,用来描述该类中所有方法使用的缓存名称,当然也可以不使用该注解,直接在具体的缓存注解上配置名称
@Cacheable
这个注解一般加在查询方法上,表示将一个方法的返回值缓存起来,默认情况下,缓存的 key 就是方法的参数,缓存的 value 就是方法的返回值。
@CachePut
这个注解一般加在更新方法上,当数据库中的数据更新后,缓存中的数据也要跟着更新,使用该注解,可以将方法的返回值自动更新到已经存在的 key 上
@CacheEvict
这个注解一般加在删除方法上,当数据库中的数据删除后,相关的缓存数据也要自动清除,该注解在使用的时候也可以配置按照某种条件删除( condition 属性)或者或者配置清除所有缓存( allEntries 属性)
开始使用ehcache
pom.xml引入
yml配置
需要说明的是
config:classpath:/ehcache.xml可以不用写,因为默认就是这个路径。但ehcache.xml必须有。
ehcache.xml
在resources目录下新建config文件夹,在文件夹中建立ehcache.xml文件。
使用缓存 UserService
UserMapper
mapper.xml
controller
访问http://localhost:7007/user/findUserById.do?id=1
第一次会查询数据库
第二次会进入缓存不会访问数据库
接着访问修改数据
http://localhost:7007/user/updateUser.do?id=1&userName=heng&password=1234567
然后继续访问查询会走缓存
具体看代码
项目地址:https://github.com/heng1234/springboot2.x/tree/master/boot_cache
Last updated
Was this helpful?