Mybatis框架(十三):Mybatis的缓存机制

一、mybatis缓存机制的简介

mybatis提供了缓存机制减轻数据库压力,提高数据库性能。mybatis的缓存分为两级:一级缓存、二级缓存。

二、mybatis一级缓存

1、一级缓存简介

基于PerpetualCache 的 HashMap本地缓存,是Session会话级别的缓存,默认就会被使用

  

2、一级缓存的有效期 

  • 没有执行过session.clearCache()清理缓存;
  • 没有执行过增删改的操作(这些操作都会清理缓存)
  • session对象已经close()过了就不可能用了
  • 不是同一个Session对象

3、原理和性能

  • 一级缓存通过简单Map集合来实现,并没有对Map集合的大小、容量进行限制;
  • 一级缓存粗粒度的缓存,没有办法去精确控制缓存中的数据是否存在过长,是否过期,以及更新缓存数据;
  • 多个SqlSession对象缓存中的数据无法共享。

三、mybatis二级缓存

1、二级缓存的简介

namespace级别缓存(一个xml文件对应一个二级缓存),二级缓存需要手动开启

2、开启二级缓存

 2.1、在mybatis的配置文件中开启二级缓存

扫描二维码关注公众号,回复: 8783559 查看本文章
<settings>
	<!-- 开启二级缓存  -->
	<setting name="cacheEnabled" 	value="true"/>
</settings>

2.2、在mapper文件中配置cache标签

<!-- 开启二级缓存  -->
<cache />
发布了134 篇原创文章 · 获赞 10 · 访问量 7362

猜你喜欢

转载自blog.csdn.net/yu1755128147/article/details/103478590