spring的Chache注解。他的缓存存的是指向还是序列化呢?

img


我解释一下我这个的意思,大概就是我传入一个参数,方法里new一个对象,然后启动异步,我异步对这个对象进行了一系列处理。然后返回一个对象。
但是怕前端等太久,所以每次他请求的时候我都返回一个半成品对象。
所以我用了缓存,每次请求都返回缓存中的对象。
但是有一个问题,就是我不知道他缓存的是这个对象的一个新实例还是这个对象的引用(异步的代码对这个对象进行了一系列的处理,时刻改变其中的数据)

缓存的是对象的引用。
麻烦采纳一下,你的采纳,是对我最好的鼓励,谢谢!

其中
内存缓存,也就是实现一个类中静态Map,对这个Map进行常规的增删查。

文件缓存,是指把数据存储在磁盘上。

都是要找到原来缓存的对象进行修改。

序列化

首先,缓存中放的肯定是被序列化的对象数据,并不是对象引用,序列化就是为了将对象的引用固定到内存中。如果是对象引用,方法结束对象就被回收,对象引用也就失效了,缓存就失去了意义。
其次,你这个方法每次执行完都会更新缓存中的数据。