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的配置文件中开启二级缓存

<settings>
	<!-- 开启二级缓存  -->
	<setting name="cacheEnabled" 	value="true"/>
</settings>

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

<!-- 开启二级缓存  -->
<cache />

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值