(十三)mybatis 整合 ehcache
目录
ehcache
ehcache
是一个分布式缓存框架 !
为什么需要分布式缓存?
在大型的项目中,服务器是肯定不止一台的,每台服务器都有自己的缓存,那么当用户去
A服务器
查询一个数据以后,A服务器
将其缓存
到内存中,然后如果地址跳准到B服务器
,这时候,如果再次需要之前查询的数据,我们还必须再次查询数据库,因为缓存在A服务器
上,不在B服务器
上 ;我们很容易发现,这样很不好,存在 资源的浪费,多台服务器需要缓存多份相同的数据 ;
我们应该将
缓存数据
集中起来进行保管,这样,无论哪一台服务器,都让其来我这里查询缓存;如何集中,就需要使用第三方的分布式缓存框架了 ,这里选用
ehcache
;
mybatis 的 Cache 接口
虽然 mybatis
有自己的缓存策略,但是,实质上它的缓存策略,不是很好,因为他直接在内存中进行数据的缓存;
我们是可以自己提供 Cache
接口的 实现类
,然后配置,来替换掉 mybatis
的默认实现的 ;
不过,一般不用我们自己写,mybatis
和谁进行整合,谁一般都会有实现类 ;
整合步骤
引入
ehcache
下载完事后, 将
mybatis-ehcache-1.1.0.jar
、ehcache-core-2.6.11.jar
两个包引入工程 ;其中
ehcache
是依赖于slf4j
日志包的,但是一般mybatis
使用的时候,都导入了这个包 ;引入
ehcache
配置文件放置路径无所谓,可以放在任意包下面,
ehcache.xml
,我发现我没有配置文件,它也没报错;在 映射关系 中配置
Cache
接口的实现类<!--开启二级缓存-->
<!--type 指定 cache 接口的实现类,mybatis的默认实现类是 PerpetualCache-->
<!--要和 ehcache 整合,我们需要将 type 改为,ehcache的实现类-->
<cache type="org.mybatis.caches.ehcache.EhcacheCache"/>
(十三)mybatis 整合 ehcache的更多相关文章
- java-mybaits-00602-查询缓存-mybatis整合ehcache
ehcache是一个分布式缓存框架.EhCache 是一个纯Java的进程内缓存框架,是一种广泛使用的开源Java分布式缓存,具有快速.精干等特点,是Hibernate中默认的CacheProvide ...
- mybatis整合ehcache
知识点:mybatis整合encache缓存框架,缓存从数据库中,查询的数据,不使用mybatis自带的二级缓存 补充:github上Mybatis Ehcache 适配器包说明地址:http://w ...
- mybatis的缓存机制(一级缓存二级缓存和刷新缓存)和mybatis整合ehcache
1.1 什么是查询缓存 mybatis提供查询缓存,用于减轻数据压力,提高数据库性能. mybaits提供一级缓存,和二级缓存. 一级缓存是SqlSession级别的缓存.在操作数据库时需要构造 s ...
- [原创]mybatis中整合ehcache缓存框架的使用
mybatis整合ehcache缓存框架的使用 mybaits的二级缓存是mapper范围级别,除了在SqlMapConfig.xml设置二级缓存的总开关,还要在具体的mapper.xml中开启二级缓 ...
- 7.4mybatis整合ehcache(mybatis无法实现分布式缓存必须和其他缓存框架整合)
<\mybatis\day02\14查询缓存-二级缓存-整合ehcache.av> mybatis的缓存机制(一级缓存二级缓存和刷新缓存)和mybatis整合ehcache-- 这里有做本 ...
- mybatis中整合ehcache缓存框架的使用
mybatis整合ehcache缓存框架的使用 mybaits的二级缓存是mapper范围级别,除了在SqlMapConfig.xml设置二级缓存的总开关,还要在具体的mapper.xml中开启二级缓 ...
- Mybatis整合(Redis、Ehcache)实现二级缓存
目的: Mybatis整合Ehcache实现二级缓存 Mybatis整合Redis实现二级缓存 Mybatis整合ehcache实现二级缓存 ssm中整合ehcache 在POM中导入相关依赖 < ...
- mybatis0210 mybatis和ehcache缓存框架整合
.1mybatis和ehcache缓存框架整合 一般不用mybatis来管理缓存而是用其他缓存框架在管理缓存,因为其他缓存框架管理缓存会更加高效,因为别人专业做缓存的而mybatis专业做sql语句的 ...
- mybatis 与 ehcache 整合[转]
1.简介 MyBatis 是支持普通SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC 代码和参数的手工设置以及结果集的检索. Ehcache 是现在最流行的纯 ...
随机推荐
- cyk追楠神系列一(SDUT3703)
cyk追楠神系列一 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 众所周知,cyk ...
- spring boot + swagger2
spring boot集成swagger2: swagger2是一个基于restful的开源设计,构建,文档,访问的开源工具集.开发中它的在线可视化文档功能,可以动态生成文档,简化前后对接工作 ...
- redis数据结构有哪些
1.String 可以是字符串,整数或者浮点数,对整个字符串或者字符串中的一部分执行操作,对整个整数或者浮点执行自增(increment)或者自减(decrement)操作. 2.list 一个链表, ...
- Java ExecutorService四种线程池及自定义ThreadPoolExecutor机制
一.Java 线程池 Java通过Executors提供四种线程池,分别为:1.newCachedThreadPool:创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收 ...
- Java中路径相关的获取方式
[参考文章]:Java文件路径(getResource) [参考文章]:关于java:如何获取正在运行的JAR文件的路径? [参考文章]:关于Class.getResource和ClassLoader ...
- Flutter中用ListView嵌套GridView报错异常
flutter中的ListView组件和GridView组件都是常用的布局组件,有时候ListView中需要嵌套GridView来使用,例如下图: 这种情况就需要在ListView里面再嵌套一个Gri ...
- [Java]借助PrintWriter类和StringWriter类,取出异常堆栈信息放入字符串中
在程序开发中,有时我们不仅需要将异常堆栈信息打印在控制台里或是log里,可能还需要将它存在String中,再送到合适的地方,如错误页面,数据库等. 要取异常堆栈信息,具体的函数就是: /** * Ge ...
- HTML文档的组成和标签的规范
Html文档的组成 (1): <html></html>来明确html文档的范围 (2): <head></head>标签可以设置一个内容比如: < ...
- linux高可用集群(HA)原理详解
高可用集群 一.什么是高可用集群 高可用集群就是当某一个节点或服务器发生故障时,另一个节点能够自动且立即向外提供服务,即将有故障节点上的资源转移到另一个节点上去,这样另一个节点有了资源既可以向外提供服 ...
- C++ ++pos vs pos++
list<char>::iterator pos; 一般使用前置式递增(preincrement),因为它比后置式递增(postincrement)效率高,因为后置式递增内部需要一个临时对 ...