package com.ycl.jxkg.config;
|
|
import com.github.benmanes.caffeine.cache.Cache;
|
import com.github.benmanes.caffeine.cache.Caffeine;
|
import com.ycl.jxkg.constants.CaffeineConstant;
|
import org.springframework.cache.annotation.EnableCaching;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
|
import java.util.HashMap;
|
import java.util.concurrent.TimeUnit;
|
|
@Configuration
|
@EnableCaching
|
public class CaffeineConfig {
|
|
@Bean
|
public Cache<String, Object> caffeineCache() {
|
Cache<String, Object> caffeineCache = Caffeine.newBuilder()
|
// 设置最后一次写入或访问后经过固定时间过期
|
.expireAfterWrite(600, TimeUnit.SECONDS)
|
// 初始的缓存空间大小
|
.initialCapacity(10)
|
// 缓存的最大条数
|
.maximumSize(20)
|
.build();
|
// 初始化认证缓存、学习时长缓存
|
caffeineCache.put(CaffeineConstant.AUTH, new HashMap<>(128));
|
caffeineCache.put(CaffeineConstant.AUTH, new HashMap<>(128));
|
return caffeineCache;
|
}
|
}
|