Loading

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 @ 2021-12-13 13:50  FynnWang  阅读(1461)  评论(0编辑  收藏  举报