4--------mybatis------缓存

缓存:

就是你查询之后的数据,不会立马销毁,放在内存当中,下次你还来的时候,就直接用这个号了。

一级缓存

  • 与数据库同一次会话期间查询到的数据会放在本地缓存中
  • 以后如果需要获取相同的数据,直接从缓存中拿,就没必要再去查了

同一个SqlSession

所以这两个查询,只用查询了一次

但是中间经过了一次修改,一级缓存就失效了。

二级缓存

又名:全局缓存

<settings>
        <setting name="cacheEnable" value="true"/>
 </settings>

开启了全局缓存之后

  • 二级缓存也叫作全局缓存,一级缓存作用域太低
  • 基于namespace级别的缓存,一个名称空间,对应一个二级缓存
  • 工作机制:
    • 一个会话查询查询一条数据,这个数据就会被放在当前会话的一级缓存中;
    • 如果当前会话关闭了,这个会话对应的一级缓存就没了;但是我们想要的是,会话关闭了,一级缓存中的数据被保存到二级缓存中;
    • 新的会话查询信息,就可以从二级缓存中获取;
    • 不同的mapper查出的数据会放在自己对应的缓存中; 
posted @ 2020-06-16 20:44  梦想成为DALAO  阅读(121)  评论(0编辑  收藏  举报