开发者社区 问答 正文

Spring为什么要用第二级缓存呢?

Spring为什么要用第二级缓存呢?

展开
收起
真的很搞笑 2021-10-25 21:46:09 717 分享 版权
1 条回答
写回答
取消 提交回答
  • TestService1依赖于TestService2和TestService3,而TestService2依赖于TestService1,同时TestService3也依赖于TestService1。TestService1注入到TestService3又需要从第三级缓存中获取实例,而第三级缓存里保存的并非真正的实例对象,而是ObjectFactory对象。说白了,两次从三级缓存中获取都是ObjectFactory对象,而通过它创建的实例对象每次可能都不一样的。 为了解决这个问题,spring引入的第二级缓存。前一个图其实TestService1对象的实例已经被添加到第二级缓存中了,而在TestService1注入到TestService3时,只用从第二级缓存中获取该对象即可。

    2021-10-25 21:46:54
    赞同 展开评论
问答分类:
问答地址: