首页 > 其他 > 详细

mybatis缓存

时间:2020-08-08 21:22:39      阅读:92      评论:0      收藏:0      [点我收藏+]

1、一级缓存


 

  配置:

我们来看看如何使用MyBatis一级缓存。开发者只需在MyBatis的配置文件中,添加如下语句,就可以使用一级缓存。共有两个选项,SESSION或者STATEMENT,默认是SESSION级别,即在一个MyBatis会话中执行的所有语句,都会共享这一个缓存。一种是STATEMENT级别,可以理解为缓存只对当前执行的这一个Statement有效。

mybatis全局配置文件定义,默认开启 session级别
<setting name="localCacheScope" value="SESSION"/>

作用范围:当前sqlSession中(一个会话中)
技术分享图片

 

 

总结

  1. MyBatis一级缓存的生命周期和SqlSession一致。
  2. MyBatis一级缓存内部设计简单,只是一个没有容量限定的HashMap,在缓存的功能性上有所欠缺。
  3. MyBatis的一级缓存最大范围是SqlSession内部,有多个SqlSession或者分布式的环境下,数据库写操作会引起脏数据,建议设定缓存级别为Statement。
 

2、二级缓存


 

配置

要正确的使用二级缓存,mybatis全局配置文件需完成如下配置的。默认关闭

<setting name="cacheEnabled" value="true"/>

作用范围:sqlSession间共享(同一个mapper接口)

技术分享图片

 

 

 

 

 

总结:建议关闭 使用成熟的分布式缓存如redis

 

参考:

https://tech.meituan.com/2018/01/19/mybatis-cache.html

mybatis缓存

原文:https://www.cnblogs.com/yangfei629/p/13460077.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!