Jetcache+SpringBoot配置
Maven依赖#
- jedis依赖
<dependency>
<groupId>com.alicp.jetcache</groupId>
<artifactId>jetcache-starter-redis</artifactId>
<version>2.6.0</version>
</dependency>
- lettuce依赖
<dependency>
<groupId>com.alicp.jetcache</groupId>
<artifactId>jetcache-starter-redis-lettuce</artifactId>
<version>2.6.0</version>
</dependency>
yaml配置#
参考源码:
com.alicp.jetcache.autoconfigure.JetCacheProperties
com.alicp.jetcache.autoconfigure.AbstractCacheAutoInit
com.alicp.jetcache.autoconfigure.RedisAutoConfiguration.RedisAutoInit
- jedis配置
jetcache:
areaInCacheName: false
remote:
default:
type: redis
keyConvertor: fastjson
poolConfig:
minIdle: 10
maxIdle: 300
maxTotal: 300
password: 123456
database: 2
sentinels: localhost:8001,localhost:8002,localhost:8003
masterName: REDIS
- lettuce配置
jetcache:
areaInCacheName: false
remote:
default:
type: redis.lettuce
keyConvertor: fastjson
#valueEncoder: kryo
#valueDecoder: kryo
poolConfig:
minIdle: 10
maxIdle: 300
maxTotal: 300
password: 123456
database: 3
masterName: REDIS
uri: redis-sentinel://${jetcache.remote.default.password}@localhost:8001,localhost:8002,localhost:8003/?sentinelMasterId=${jetcache.remote.default.masterName}&database=${jetcache.remote.default.database}
启动注解#
- @EnableCreateCacheAnnotation
- 开启可通过@CreateCache注解创建Cache实例功能
- @EnableMethodCache(basePackages = "com.xxx.xxx")
- 开启可通过@Cached注解创建Cache实例功能,初始化spring aop
/**
* 启动类
*/
@SpringBootApplication
@EnableCreateCacheAnnotation
@EnableMethodCache(basePackages = "com.xxx.xxx")
public class Application {
public static void main(String[] args){
SpringApplication.run(Application.class, args);
}
}
缓存注解#
//缓存
@Cached(name = CENTER_DATA_CACHE_KEY, expire = 60 * 60 * 24 * 2, cacheNullValue = true)
public DmEffBillYear getData(BillDataReq req) {
reture null;
}
//刷新缓存
@CacheUpdate(name = CENTER_DATA_CACHE_KEY, value = "#result")
@Override
public DmEffBillYear freshData(BillDataReq req) {
return getData(req);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程