这就是我正在做的
Cache<String,MYClass> cache=CacheBuilder.newBuilder().
maximumSize(100).
expireAfterAccess(30, TimeUnit.MINUTES).
build();
String id="myid";
MyClass obj=cache.getIfPresent(id);
System.out.println(obj.getMyVariable);
obj.setMyVariable("myNewString");
updateCache(id,obj);
myClass obj2=cache.getIfPresent(id);
System.out.println(obj2.getMyVariable);
缓存会更新 MyClass 对象本身吗?我想不会。如果没有,哪个是更好的方法?
void update(String id,MyClass obj){
cache.put(id,obj);
}
或者
void update(String id,Myclass obj){
cache.invalidate(id);
cache.put(id,obj);
}
期望的输出:
myOldString
myNewString