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 caffeineCache() { Cache 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; } }