一、背景
最近在使用spring的@Cacheable注解时发现无法做到设置定时刷新时间,找了一些资料,采用CaffeineCache实现了一个demo。
二、具体代码实现
1、config配置
import com.github.benmanes.caffeine.cache.Caffeine;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.caffeine.CaffeineCache;
import org.springframework.cache.support.SimpleCacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.concurrent.TimeUnit;
@Configuration
@Slf4j
@EnableCaching
public class CaffeineCacheConfig {
private static final int DEFAULT_MAXSIZE = 100;
private static final int DEFAULT_TTL = 600;
public enum HadesInsightCache {
//这里相当于将缓存的key值注册进来
test1(60, 100),
test2(3600, 100),