guava cache 加载新值的注意事项
guava LoadingCache提供的get方法,在获取不到key或者value值过期的时候会去自动加载新值。但是存在一个问题,如果返回的新值为null,如下代码,那么guava不会加载新值。
CacheBuilder.newBuilder()
.recordStats()
.maximumSize(1000000)
.refreshAfterWrite(10, TimeUnit.SECONDS)
.build(new CacheLoader<String, String>() {
@Override
public String load(String key) throws Exception {
return null;
}
});
获取到的新值如果为空值,那么不会更新value值。