MyBatis缓存机制-二级缓存

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

    图片 1

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

    图片 2

  (4).测试二级缓存

 图片 3

 

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

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

  MyBatis二级缓存是依照namespace级别之休养存.

1.MyBatis之缓存机制全部设计以及二级缓存的干活情势

  图片 4

   如齐图所示,当开一个会话时,一个SqlSession对象会用一个Executor靶来完成会话操作,MyBatis的二级缓存机制的关键就是是对是Executor对象做作品。假设用户配置了”cacheEnabled=true“,那么MyBatis在为SqlSession靶创立Executor对象时,会对Executor对象加上一个装饰者:CachingExecutor,这时SqlSession使用CachingExecutor靶来形成操作请求。CachingExecutor对于查询请求,会先判断该查询请求于Application级别之二级缓存中是不是有缓存结果,假若有询问结果,则直接归缓存结果;借使缓存中无,再提交真正的Executor对象来完成查询操作,之后CachingExecutor相会拿真正Executor回的查询结果放置到缓存中,然后在再次来到给用户。

网站地图xml地图