JetCache 是 阿里巴巴下开源框架,它是一个基于Java的缓存系统封装,提供统一的API和注解来简化缓存的使用。JetCache提供了比SpingCache更加强大的注解,可以原生的支持TTL、两级缓存、分布式自动刷新,还提供了Cache接口用于手工缓存等操作。
那它是如何使用呢
第一步
导入jetcache 坐标
<!--缓存spring JetCache-->
<dependency>
<groupId>com.alicp.jetcache</groupId>
<artifactId>jetcache-starter-redis</artifactId>
<version>2.6.0</version>
</dependency>
第二步
yml中配置文件
#jetcache 集成使用
jetcache:
statIntervalMinutes: 15
areaInCacheName: false
local:
default:
type: caffeine
keyConvertor: fastjson
limit: 1000
remote:
default:
type: redis
keyConvertor: fastjson
valueEncoder: java
valueDecoder: java
poolConfig:
minIdle: 5
maxIdle: 20
maxTotal: 50
database: 1 #连接redis的库
host: 127.0.0.1 # 改成自己的
port: 6379 # 改成自己的
password: 123456 # 改成自己的
第三步
在启动类上增加注解
//开启缓存
@EnableMethodCache(basePackages = "com.bqy")
@EnableCreateCacheAnnotation
第四步
在接口或者方法上设置缓存的name,key,time 等
//缓存 name ====一般可以设置成方法名称 key=====可以设置入参的参数 cacheType = CacheType.BOTH 选它就行 本地 远程都存
@Cached(name = "PageResult.carBookPageList",key = "#request.seriesId",expire = 1,timeUnit = TimeUnit.MINUTES,cacheType = CacheType.BOTH)
//缓存刷新
@CacheRefresh(refresh = 3, stopRefreshAfterLastAccess = 5, timeUnit = TimeUnit.MINUTES)
//缓存穿透保护
@CachePenetrationProtect
这样就完成啦。
测的时候 时候可以debug看它的执行流程, 第一次去库查询,之后从缓存中获取。有效时间1分钟