文档章节

MyBatis入门之二级缓存以及ehcache使用

小贱是个程序员
 小贱是个程序员
发布于 2016/11/18 11:16
字数 506
阅读 229
收藏 2
点赞 0
评论 0

MyBatis的缓存机制

1.根据缓存的作用域和生命周期分为2中缓存策略:一级缓存,二级缓存

2.查询缓存的作用域是根据mapper的namespace划分的,相同的namespace的查询数据放在同一个缓存区,不同的namespace的缓存数据互不干扰

3.一旦sqlSession 连接关闭,一级缓存中的数据就会消失,而二级缓存还在

4.一级缓存是和sqlSession在同一线程共享数据,二级缓存是在不同线程(sqlsession)共享数据

5.一级缓存是不能关闭,只到sqlSession关闭

6.一级缓存查询的依据:查询的id相同(查询语句的id)并且sql语句相同,才会拿缓存中的数据

 

1.增删改对一级缓存的影响:修改,删除,增加都会清空一级缓存(无论是否提交)

2.二级缓存机制是防止同一个sql id,相同的sql语句反复的执行

3.二级缓存的生命周期是和sqlSession一致的

4.开启内置的二级缓存需要2步:

a) 第一步:对实体进行序列化

b) 在映射文件中添加<cache/>标签

缓存命中率

11.增删改对二级缓存的影响:(默认是刷新缓存的也可以配置不刷新)

12.缓存的基本配置<eache/>

14.二级缓存的关闭分为2种:全局关闭,局部关闭

a)全局关闭:

b) 局部关闭:

15.二级缓存的使用原则:

a) 多个namespace不操作同一张表

b) 不要在关联关系表上执行增删改操作

c) 查询多与修改时使用二级缓存

16.第三方二级缓存ehcache(不需要序列化实体)

a)第一步:下载jar包

b) 第二步:映射文件配置

c) 第三步:导入ehcache配置文件

17.二级缓存设计增删改不刷新缓存

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
小贱是个程序员
粉丝 3
博文 39
码字总数 14357
作品 0
珠海
程序员
【MyBatis框架】查询缓存-二级缓存-整合ehcache

mybatis整合ehcache ehcache是一个分布式缓存框架。 1.分布缓存 我们系统为了提高系统并发,性能、一般对系统进行分布式部署(集群部署方式) 如图 不使用分布缓存,缓存的数据在各各服务单独...

Mysoft
2015/09/21
36
0
mybatis缓存的使用及理解

和hibernate一样,mybatis也有缓存机制 一级缓存是基于 PerpetualCache(mybatis自带)的 HashMap 本地缓存,作用范围为session,所以当session commit或close后,缓存就会被清空 二级缓存默认也是...

whaon
2013/04/16
0
0
SSM框架之MyBatis3专题4:查询缓存

查询缓存的使用,主要是为了提高查询访问速度。将用户对同一数据的重复查询过程简化,不再每次均从数据库中查询获取结果数据,从而提高访问速度。 MyBatis的查询缓存机制,根据缓存区的作用域...

糖醋白糖
06/26
0
0
mybatis的缓存机制(一级缓存二级缓存和刷新缓存)和mybatis整合ehcache

大 中 小 mybatis的缓存机制(一级缓存二级缓存和刷新缓存)和mybatis整合ehcache 一、 查询缓存 1.1 什么是查询缓存 mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。 mybaits提供...

LYQ1990
2016/05/26
153
0
MyBatis 实践 -配置

标签: Java与存储 Configuration mybatis-configuration.xml是MyBatis的全局配置文件(文件名任意),其配置内容和顺序如下: properties : 属性(文件)加载/配置 settings : 全局配置参数 type...

hanqing280441589
2016/02/28
0
0
mybatis--缓存(一级和二级缓存)

1.缓存 查询数据时将查询结果存放到内存(缓存区)中。 每次查询数据时,先判断缓存区中是否存在数据, 如果存在,就从缓存区中获取数据 如果不存在,就从数据库中获取数据,将数据存放到缓存...

datacube
06/29
0
0
mybatis缓存问题

大家好,第一次发求助帖! 1.mybatis二级缓存的命中率是如何计算的(在网上没找到相关资料,求助下) 2.mybatis整合ehcache做缓存,可以在ehcache.xml中配多个cache机制,问题是怎么在mappe...

testzhang
2014/12/04
1K
4
MyBatis入门~教你如何与数据库更好地交互

这几天回顾了下以前学的mybatis,特写这篇文章来总结一下,非技术人员请绕道~如果有什么疑问,可以关注我的公众号:多一点思考。 先来介绍下Mybatis,它是appache下开源的一款持久层框架,通...

一只大黑猫
2017/12/15
0
0
MyBatis学习总结(七)——Mybatis缓存

一、MyBatis缓存介绍   正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Session,当 Session ...

zhanghaiyang
2015/12/31
69
0
spring配置文件里面并没有配置ehcache.xml,为啥缓存还是起作用

今天自己接触了下mybatis的二级缓存,使用的技术是Ehcache,看了公司的文件配置,缓存是起作用了,单问题是在applicationContext.xml并没有引用ehcache.xml 这个配置文件,so。。。。不明白为...

Mr_Head
2016/08/08
526
5

没有更多内容

加载失败,请刷新页面

加载更多

下一页

mysql 主从复制中遇到的错误!

。。。。。

万建宁
13分钟前
0
0
DUBBO 详细介绍

摘要: 主要核心部件: Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制. RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能 Registry: 服务目录框架...

明理萝
23分钟前
0
1
4 个快速的 Python 编译器 for 2018

简评:Python 和其他的解释型语言一样经常被吐槽性能不行,所以开发人员为了提升性能创建了不少编译器,本文则选取其中的四个做了基准测试。 Python 其实是一种相当快的语言,但它并不像编译...

极光推送
26分钟前
0
0
spring boot注册多个MQ服务器的问题

关于注册到多个MQ源的文章已经有很多了,这里记录一下声明queue的坑; 如果使用注册bean的方式声明queue,会导致声明的queue同时被注册到所有的MQ源上; //如果使用下面的声明方式,que...

placeholder
27分钟前
0
0
Java面试基础篇——第九篇:BIO,NIO,AIO的区别

现在IO模型主要分三类:BIO(同步阻塞IO),NIO(同步非阻塞IO),AIO()。 先来看看BIO。 1. BIO 服务端接受到请求后,要指派或新建一个线程去处理客户端的IO请求,直到收到断开连接的指令。这么做...

developlee的潇洒人生
32分钟前
0
0
@RequestMapping @ResponseBody 和 @RequestBody 用法与区别

1.@RequestMapping 国际惯例先介绍什么是@RequestMapping,@RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为...

特拉仔
34分钟前
1
0
基于 HTML5 结合互联网+ 的 3D 隧道

前言 目前,物资采购和人力成本是隧道业发展的两大瓶颈。比如依靠民间借贷,融资成本很高;采购价格不透明,没有增值税发票;还有项目管控和供应链管理的问题。成本在不断上升,利润在不断下...

xhload3d
36分钟前
0
0
济南小程序热度分析

原文链接:http://www.jnqianle.cn/company/2072.html

tianma3798
37分钟前
1
0
大数据软件

beats 采集 kafka spark hive es grafana zeppelin

ArlenXu
39分钟前
0
0
Mac item2常用快捷键

标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:command + f 分屏 水平分屏:command + d 垂直分屏:c...

说回答
43分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部