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);
}

Jetcache wiki

Jetcache Jedis

Jetcache lettuce

Jetcache Springboot

JetCache 缓存框架的使用以及源码分析

posted @   FynnWang  阅读(1501)  评论(0编辑  收藏  举报
编辑推荐:
· 基于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保姆级教程
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示