引言
微服务场景下,有时候需要将二方调用的数据缓存起来避免每次都去RPC调用,可以选择Guava进行缓存。简单使用如下
- 引入依赖
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>
- 创建缓存类
public class GuavaCacheManager {
private GuavaCacheManager(){}
private static Cache<String,Object> localCache = CacheBuilder.newBuilder().maximumSize(20) //最大线程并发数
.expireAfterWrite(1,TimeUnits.Days) //过期时间
.concurrencyLevel(2).recordStats().builder();
public static Object getObject(String key){
return localCache.getIfPresent(key);
}
public static void cacheObject(String key,Object objectValue){
localCache.put(key,objectValue);
}
}