java缓存LoadingCache的实际用法guava-16.0.jar
解决方法:
1.核心方法,返回类型自己重写load方法,我这里返回的是JSONObject
import com.alibaba.fastjson.JSONObject;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
private static LoadingCache<String,JSONObject> accountCache = CacheBuilder.newBuilder().expireAfterWrite(180, TimeUnit.SECONDS).build(new CacheLoader<String, JSONObject>
(){
@Override
public JSONObject load(String key) throws Exception {
String accountInfo = "{"\name\":\"张三\"}";
return JSONObject.parseObject(accountInfo);
}
});
2.accountCache.get("123456");//key=123456
调用get方法就会内部调用getOrLoad(K key)方法,缓存中有对应的值则返回,没有则使用CacheLoader的load方法 。
getOrLoad(K key)方法为线程安全方法,内部加锁
3.下载工具包guava-16.0.jar
4.guava把键值存入缓存得用法:http://yayihouse.com/yayishuwu/chapter/2340
本文链接:http://www.yayihouse.com/yayishuwu/chapter/1766