package com.mortals.xhx.modules.implementlist.config;

import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.concurrent.TimeUnit;

/**
 * @Title: Caffeine缓存配置类，
 * @Package: com.atm.affair.config
 * @Description: 单独配置，在使用时调用，不与springcache依赖（及不使用注解方式）
 * @Author: tinker
 * @Date: 4/10/21
 * @Version: V1.0
 */
@Configuration
public class CaffCacheConfig {
    @Bean
    public Cache<String, Object> caffeineCache() {
        return Caffeine.newBuilder()
                .expireAfterWrite(1, TimeUnit.DAYS) //设置最后一次写入或访问后固定时间期限
                .initialCapacity(100) //初始大小
                .maximumSize(5000) //最大条数
                .build();
    }
}
