我有一个内存缓存支持下面说明的db-call。我刚碰到一个bug,因为Config
对象的同一个实例正在被修改,而实际上我想每次都有一个“新鲜”的实例(没有进入db)。
问题是
1)从缓存加载时避免修改同一对象的最佳做法是什么?
2)从缓存中读取后是否要深度复制对象并使用深度复制的对象?
3)如果是这样,深度复制对象的最简单方法是什么?
public void doStuff(String configId) {
Config config = someUserCache.get(configId);
//Modifies config
config.getSomeConfig().remove();
}