fuliqi
2024-10-17 8546b3d285af4235a0ef615a0c6e89486ae2c806
src/main/java/com/ycl/jxkg/config/CaffeineConfig.java
@@ -2,23 +2,31 @@
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() {
        return Caffeine.newBuilder()
                // 设置最后一次写入或访问后经过固定时间过期
                .expireAfterWrite(600, TimeUnit.SECONDS)
        Cache<String, Object> caffeineCache = Caffeine.newBuilder()
                // 设置最后一次写入或访问后经过固定时间(12小时)过期
                .expireAfterWrite(43200, TimeUnit.SECONDS)
                // 初始的缓存空间大小
                .initialCapacity(100)
                .initialCapacity(10)
                // 缓存的最大条数
                .maximumSize(1000)
                .maximumSize(20)
                .build();
        // 初始化认证缓存、学习时长缓存
        caffeineCache.put(CaffeineConstant.AUTH, new HashMap<>(128));
        caffeineCache.put(CaffeineConstant.STUDY_RECORD, new HashMap<>(128));
        return caffeineCache;
    }
}