为什么用三级缓存实现循环依赖