package org.dromara.common.redis.config; import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; import org.dromara.common.redis.manager.PlusSpringCacheManager; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.Bean; import java.util.concurrent.TimeUnit; /** * 缓存配置 * * @author Lion Li */ @AutoConfiguration @EnableCaching public class CacheConfig { /** * caffeine 本地缓存处理器 */ @Bean public Cache caffeine() { return Caffeine.newBuilder() // 设置最后一次写入或访问后经过固定时间过期 .expireAfterWrite(30, TimeUnit.SECONDS) // 初始的缓存空间大小 .initialCapacity(100) // 缓存的最大条数 .maximumSize(1000) .build(); } /** * 自定义缓存管理器 整合spring-cache */ @Bean public CacheManager cacheManager() { return new PlusSpringCacheManager(); } }