引入guava包
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>29.0-jre</version>
</dependency>
封装工具栏
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import java.util.concurrent.TimeUnit;
/**
* 带有效期的本地缓存工具
*
* @author 向振华
* @date 2021/02/26 10:33
*/
public class CacheUtils {
/**
* 初始化缓存
*/
private static final LoadingCache<Object, Object> CACHE = CacheBuilder.newBuilder()
// 缓存池大小,在缓存项接近该大小时, Guava开始回收旧的缓存项
.maximumSize(16)
// 设置缓存在写入之后在设定时间后失效
.expireAfterWrite(3, TimeUnit.SECONDS)
.build(new CacheLoader<Object, Object>() {