Mybatis 两种缓存的理解和配置
(1)一级缓存是基于 PerpetualCache的 HashMap 本地缓存,HashMap当中存储的是sql语句,sql参数的值仍然被看做是一次储存。
作用范围为SqlSession,所以当session commit或close后,缓存就会被清空
--------------- 存储在内存当中--------------------
(2)二级缓存也是基于 PerpetualCache的 HashMap
需要在配置文件当中设置(在Mybatis的配置文件当中)。
<
setting
name
=
"cacheEnabled"
value
=
"true"
/>
<cachereadOnly="true"></cache>
二级缓存是存储结果集对象,如果相同的sql,参数值不同。任然需要从数据库当中取值。
-------------------存储在内存或硬盘,Java bean需要序列化--------------
参考博文:
http://blog.youkuaiyun.com/zouxucong/article/details/68947052(非常的详细)
http://blog.youkuaiyun.com/csdn_huangyumin/article/details/50764443(sql相同,参数相同的情况)
本文介绍了MyBatis的一级缓存与二级缓存的区别及配置方法。一级缓存基于PerpetualCache的HashMap实现,随SqlSession关闭而清空;二级缓存同样基于PerpetualCache,但需在配置文件中启用,并可在多个SqlSession间共享。
685

被折叠的 条评论
为什么被折叠?



