MyBatis实战缓存机制设计与原理解析
数据缓存设计结构 一级缓存 Session会话级别的缓存,位于表示一次数据库会话的SqlSession对象之中,又被称之为本地缓存 一级缓存是MyBatis内部实现的一个特性,用户不能配置,默认情况下自动支持的缓存,一般用户没有定制它的权利 二级缓存 Application应用级别的缓存,生命周期长,跟Application的生命周期一样,即作用范围为整个Application应用 缓存架构 2 工作机制 一级缓存的工作机制 一级缓存是Session会话级别的,一般而言,一个SqlSession对象会使用一个Executor对象来完成会话操作,Executor对象会维护一个Cache缓存,以提高查询性能 二级缓存的工作机制 如上所言,一个SqlSession对象会使用一个Executor对象来完成会话操作,MyBatis的二级缓存机制的关键就是对这个Executor对象做文章 如果用户配置了cacheEnabled=true,那么在为SqlSession对象创建Executor对象时,会对Executor对象加上一个装饰者CachingExecutor,这时SqlSession使用Ca...
