Mybatis缓存

Posted 364.99°

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis缓存相关的知识,希望对你有一定的参考价值。

用户从缓存中查询数据比在硬盘上去查数据效率高许多,能提高性能。

即,缓存就是为了提高查询效率

1.缓存执行机制

进行数据库查询的时候,先去访问缓存,如果缓存中有对应数据,就直接返回给客户端,如果缓存中没有对应数据就去访问数据库(硬盘),在数据库上获取到数据后,先在缓存中存一份,再将数据返回给客户端。

mybatis提供两级缓存: 一级缓存(默认开启)、二级缓存

2.一级缓存和二级缓存

一级缓存: 使用SqlSession对象的作用域,同一个SqlSession共享一级缓存的数据。

二级缓存: 使用的是mapper映射文件的作用域,不同的SqlSession之哟啊访问的是同一个mapper.xml文件,则共享二级缓存作用域。

二级缓存的开启:

  • 核心文件加入配置
	<settings>
        <setting name="cacheEnabled" value="true"/>
    </settings>
  • 映射文件中开启二级缓存
<cache></cache>
  • 实体类必须实现java.io.Serializable表示此类可序列化

以上是关于Mybatis缓存的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis源码分析五MyBatis的缓存

mybatis二级缓存默认开启吗?

MyBatis缓存专题-一文彻底搞懂MyBatis一级缓存

MyBatis缓存专题-一文彻底搞懂MyBatis一级缓存

转MyBatis学习总结——Mybatis缓存

MyBatis缓存