第一步:引入pom文件
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>2.9.2</version>
</dependency>
第二步:创建SpringCachingConfig文件
@Configuration
@EnableCaching//核心注解
public class SpringCachingConfig {
@Bean
public CacheManager cacheManager() {
SimpleCacheManager cacheManager = new SimpleCacheManager();
List<CaffeineCache> 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()