码迷,mamicode.com
首页 > 其他好文 > 详细

MyBatis缓存机制-二级缓存

时间:2017-10-11 15:34:22      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:ssi   mes   spider   文章   exec   活性   cat   ash   png   

  MyBatis二级缓存是基于namespace级别的缓存.

1.MyBatis的缓存机制整体设计以及二级缓存的工作模式

  技术分享

   如上图所示,当开一个会话时,一个SqlSession对象会使用一个Executor对象来完成会话操作,MyBatis的二级缓存机制的关键就是对这个Executor对象做文章。如果用户配置了"cacheEnabled=true",那么MyBatis在为SqlSession对象创建Executor对象时,会对Executor对象加上一个装饰者:CachingExecutor,这时SqlSession使用CachingExecutor对象来完成操作请求。CachingExecutor对于查询请求,会先判断该查询请求在Application级别的二级缓存中是否有缓存结果,如果有查询结果,则直接返回缓存结果;如果缓存中没有,再交给真正的Executor对象来完成查询操作,之后CachingExecutor会将真正Executor返回的查询结果放置到缓存中,然后在返回给用户。

2.二级缓存实现的选择

  1.MyBatis自身提供的缓存实现 

<cache  type="org.apache.ibatis.cache.impl.PerpetualCache"> </cache>

  2.用户自定义的cache接口

  3.和第三方内存还存库的集成

3.二级缓存自身实现和第三方集成的差别

  自身实现只可作用与数据库,而第三方集成的缓存扩展性更强.

4.ehcache的优点

  1.它采用了分布式缓存,,兼具灵活性和扩展性.

  2.标准分布式搜索使用了流式查询接口的方式.

  3.多种配置方式,自动资源控制

  详细信息:http://raychase.iteye.com/blog/1545906

5.MaBatis配置ehcache

  (1).导包

    导入:ehcache-core-2.6.5.jar 和mybatis-ehcache-1.0.2.jar 两个包

  (2).配置文件

    ehcache-failsafe.xml

    技术分享

  (3).在mapper映射文件cache标签中设置type为Ehcashe的实现类为

    技术分享

  (4).测试二级缓存

 技术分享

 

参考博客:http://blog.csdn.net/luanlouis/article/details/41408341

     http://baijiahao.baidu.com/s?id=1575518563721435&wfr=spider&for=pc

MyBatis缓存机制-二级缓存

标签:ssi   mes   spider   文章   exec   活性   cat   ash   png   

原文地址:http://www.cnblogs.com/ssjifm/p/7650084.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!