ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

mybatis缓存

2020-08-08 20:01:26  阅读:183  来源: 互联网

标签:缓存 一级 配置文件 MyBatis SqlSession mybatis


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,SqlSession,mybatis
来源: https://www.cnblogs.com/yangfei629/p/13460077.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有