springboot 引入本地缓存(cache)

第一步:引入pom文件


    com.github.ben-manes.caffeine
    caffeine
    2.9.2

第二步:创建SpringCachingConfig文件

@Configuration
@EnableCaching//核心注解
public class SpringCachingConfig {

    @Bean
    public CacheManager cacheManager() {
        SimpleCacheManager cacheManager = new SimpleCacheManager();

        List caffeineCaches = new ArrayList<>();
        //LocalCacheEnumf缓存分类枚举  如果不分类可以去掉
        for (LocalCacheEnum  cacheName: LocalCacheEnum.values()) {
            caffeineCaches.add(new CaffeineCache(cacheName.getRemark(),
                    Caffeine.newBuilder()
                            .initialCapacity(50)
                            .maximumSize(30000)//最大存储数量
                            .expireAfterWrite(2, TimeUnit.MINUTES)//过期时间2分钟
                            .build()));
        }
        cacheManager.setCaches(caffeineCaches);
        return cacheManager;
    }
}

第三步:引入CacheManager

@Autowired
private CacheManager cacheManager 

第四步:开始存取数据

//参数缓存分类名
Cache cache = cacheManager.getCache(LocalCacheEnum.CHEXK_CODE.getRemark());
//插入数据
cache.put("111111","222");
//取出数据
Cache.ValueWrapper valueWrapper = cache.get("key");
//获取值
String s = valueWrapper.get().toString();
//移除数据 参数key
cache.evict("111111");



 踩坑地方

Cache cache = cacheManager.getCache("分类名称");
//此方法也是插入数据,但是前提一定要get一下 cache.get()
//否则第一次存数据会null,第二次才成功
cache.putIfAbsent()

你可能感兴趣的:(缓存,spring,boot,缓存,java,memcached)