1.Mybatis默认的缓存配置

MyBatis 包括一个很强大的查询缓存特性,它能够很方便地配置和定制。

Mybatis缓存包括全局的缓存和局部的缓存。全局的缓存能够讲主配置文件的setting属性的參数cacheEnabled设置为true(好吧,默觉得true),

局部的二级缓存默认情况下是没有开启的。要开启二级缓存,你须要在你的 SQL 映射文件里加入一行:

<cache/>

eviction(回收策略) 默认的是 LRU。可选择项有FIFO,SOFT,WEAK

flushInterval(刷新间隔)能够被设置为随意的正整数,并且它们代表一个合理的毫秒 形式的时间段。默认情况是不设置,也就是没有刷新间隔,缓存只调用语句时刷新。

size(引用数目)能够被设置为随意正整数,要记住你缓存的对象数目和你执行环境的 可用内存资源数目。默认值是 1024。

readOnly(仅仅读)属性能够被设置为 true 或 false。

仅仅读的缓存会给全部调用者返回缓 存对象的同样实例。因此这些对象不能被改动。

这提供了非常重要的性能优势。可读写的缓存 会返回缓存对象的拷贝(通过序列化) 。这会慢一些,可是安全,因此默认是 false。

2.Mybatis加入Ehcache

Mybatis加入第三方缓存组件支持仅仅须要在sql映射文件里加入一行:

<cache type="org.mybatis.caches.ehcache.EhcacheCache"/>

当然你能够选择配置自己的属性,你能够选择配置<cache>的子属性<property>来设置详细的參数。也能够过配置class路径下ehcache.xml来完毕配置;

配置的属性跟Hibernate配置Ehcache同样,你能够查看我的上一篇blog。

当然相同假设你须要记录日志的话。你能够用

<cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>

取代 <cache type="org.mybatis.caches.ehcache.EhcacheCache"/>

欢迎大家一起讨论学习!

实用的自己收!

记录与分享,让你我共成长!欢迎查看我的其它博客。我的博客地址:http://blog.csdn.net/caicongyang

Mybatis加入Ehcache支持的更多相关文章

  1. mybatis 与 ehcache 整合[转]

    1.简介 MyBatis 是支持普通SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC 代码和参数的手工设置以及结果集的检索. Ehcache 是现在最流行的纯 ...

  2. Mybatis集成ehcache

    Mybatis集成ehcache 1.为什么需要缓存 拉高程序的性能 2. 什么样的数据需要缓存 很少被修改或根本不改的数据 业务场景比如:耗时较高的统计分析sql.电话账单查询sql等 3. ehc ...

  3. mybatis0210 mybatis和ehcache缓存框架整合

    .1mybatis和ehcache缓存框架整合 一般不用mybatis来管理缓存而是用其他缓存框架在管理缓存,因为其他缓存框架管理缓存会更加高效,因为别人专业做缓存的而mybatis专业做sql语句的 ...

  4. java-mybaits-00602-查询缓存-mybatis整合ehcache

    ehcache是一个分布式缓存框架.EhCache 是一个纯Java的进程内缓存框架,是一种广泛使用的开源Java分布式缓存,具有快速.精干等特点,是Hibernate中默认的CacheProvide ...

  5. MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架

    MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用 ...

  6. MyBatis笔记——EhCache二级缓存

    介绍 ehcache是一个分布式缓存框架. 我们系统为了提高系统并发,性能.一般对系统进行分布式部署(集群部署方式)  不使用分布缓存,缓存的数据在各各服务单独存储,不方便系统开发.所以要使用分布式缓 ...

  7. mybatis整合ehcache

    知识点:mybatis整合encache缓存框架,缓存从数据库中,查询的数据,不使用mybatis自带的二级缓存 补充:github上Mybatis Ehcache 适配器包说明地址:http://w ...

  8. (十三)mybatis 整合 ehcache

    目录 ehcache mybatis 的 Cache 接口 整合步骤 ehcache ehcache 是一个分布式缓存框架 ! 为什么需要分布式缓存? 在大型的项目中,服务器是肯定不止一台的,每台服务 ...

  9. SpringMVC + Mybatis + Shiro + ehcache时缓存管理器报错。

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shiroFilter' ...

随机推荐

  1. ubuntu命令行转换图片像素大小

    convert -resize 512x256 00433.png 00001.png 1.512和256之间是x(就是字母那个x),用' * '反而会报错 2.这个命令会按照原图的比例进行转换 3. ...

  2. numpy次方计算

    >>> 2**np.arange(3, 6) array([ 8, 16, 32])

  3. 283. Move Zeroes@python

    Given an array nums, write a function to move all 0's to the end of it while maintaining the relativ ...

  4. python数组中数据位置交换 -- IndexError: list assignment index out of range

    代码: t = [-10,-3,-100,-1000,-239,1] # 交换 -10和1的位置 t[5], t[t[5]-1] = t[t[5]-1], t[5] 报错: IndexError: l ...

  5. poj-1163 动态规划

    这道题目并不能直接使用递归,因为 7(1) 7(1)         7(1) 7(1)      7(2)         7(1) 7(1)       7(3)         7(3)    ...

  6. os操作文件

    os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依 ...

  7. shelve -- 用来持久化任意的Python对象

    这几天接触了Python中的shelve这个module,感觉比pickle用起来更简单一些,它也是一个用来持久化Python对象的简单工具.当我们写程序的时候如果不想用关系数据库那么重量级的东东去存 ...

  8. jmespath库解析json

    在测试过程中,经常会去JSON中的某个值,jmespath可以是除了jsonpath的另外一种选择. 下面通过几个例子来说明jmespath在python的使用 jmespath python安装 非 ...

  9. [Istio]流量管理API v1alpha3路由规则

    Istio提供一个API进行流量管理,该API允许用户将请求路由到特定版本的服务,为弹性测试注入延迟和失败,添加断路器等,所有这些功能都不必更改应用程序本身的代码.Istio 1.0中引入新的流量管理 ...

  10. python多线程--线程同步

    如果多个线程共同对某个数据修改,则可能出现不可预料的结果,为了保证数据的正确性,需要对多个线程进行同步. 使用Thread对象的Lock和Rlock可以实现简单的线程同步,这两个对象都有acquire ...