文档章节

MyBatis缓存

IT-Mamba
 IT-Mamba
发布于 2018/08/01 14:50
字数 444
阅读 18
收藏 0

1、一级缓存,默认开启,属于sqlsession级别的缓存

特点:1.1 不同的sqlsession对象不能互用缓存

          1.2 当salsession对象调用 clearCache() 方法时,会自动清理缓存的数据,不影响sqlsession的正常使用

          1.3 当sqlsession对象关闭时 (调用了 close方法),sql对象就不能再使用了

          1.4 当两次相同的查询中间,有增删改的操作时,缓存中的数据会被清除掉  

一级缓存通过简单的Map集合来实现,没有对Map集合的大小容量做限制

 

2、二级缓存,需要手动开启和配置,namespace级别的缓存,一个xml文件对应一个二级缓存

2.1 配置开启二级缓存

总的配置文件中添加   <settung name="caacheEnabled" value="true" />

在映射文件中添加cache属性 <cache></cache>   相当于所有的select标签都开启了二级缓存

<select id="findById" resultType="com.kobe.model.user" useCache="true">

如果需要关闭某个查询的二级缓存  只需在标签中将  useCache属性设置为 false 即可

<select id="findById" resultType="com.kobe.model.user" useCache="false">

在新的sqlsession对象使用二级缓存中的数据时,需要先将前面的sqlsesson对象关闭,数据才会进入到缓存中

开启二级缓存后会先从二级缓存中查找,没有的话再去一级缓存中查找,再没有的话才从数据库中查找。

(springboot项目使用mybatis缓存在配置文件中设置  mybatis.configuration.cache-enabled=true)

 

 

 

© 著作权归作者所有

IT-Mamba
粉丝 10
博文 133
码字总数 56499
作品 0
惠州
程序员
私信 提问
mybatis入门教程(九)------mybatis缓存

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

残风vs逝梦
2014/06/16
19.9K
5
【MyBatis框架】查询缓存-二级缓存-整合ehcache

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

Mysoft
2015/09/21
81
0
Mybatis学习系列(七)缓存机制

Mybatis缓存介绍 MyBatis提供一级缓存和二级缓存机制。 一级缓存是Sqlsession级别的缓存,Sqlsession类的实例对象中有一个hashmap用于缓存数据。不同的Sqlsession实例直接hashmap互不影响。M...

仍是少年
2018/07/12
0
0
Mybatis 缓存系统源码解析

本文从以下几个方面介绍: 相关文章 前言 缓存的相关接口 一级缓存的实现过程 二级缓存的实现过程 如何保证缓存的线程安全 缓存的装饰器 相关文章 Mybatis 解析 SQL 源码分析二 Mybatis Mapp...

tsmyk0715
2018/11/25
2.7K
7
《深入理解mybatis原理》 MyBatis的二级缓存的设计原理

[+] MyBatis的二级缓存是Application级别的缓存,它可以提高对数据库查询的效率,以提高应用的性能。本文将全面分析MyBatis的二级缓存的设计原理。 1.MyBatis的缓存机制整体设计以及二级缓存...

嘻哈开发者
2016/06/28
231
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot Actuator监控使用详解

在企业级应用中,学习了如何进行SpringBoot应用的功能开发,以及如何写单元测试、集成测试等还是不够的。在实际的软件开发中还需要:应用程序的监控和管理。SpringBoot的Actuator模块实现了应...

程序新视界
19分钟前
6
0
JDBC+C3P0+DBCP 基本使用

1.概述 这篇文章主要说了JDBC的基本使用,包括Statement,PreparedStatement,JDBC的连接,Mysql创建用户创建数据表,C3P0的连接与配置,DBCP的连接与配置. 2.mysql的处理 这里的JDBC使用Mysql作为...

Blueeeeeee
今天
7
0
MVC Linux下开发及部署

linux使用的是 Ubuntu 64 位 18.04.2 LTS 首先复制C:\Program Files (x86)\Embarcadero\Studio\20.0\PAServer 下 LinuxPAServer20.0.tar.gz 到 linux 目录下 运行链接编译程序 delphi环境配置......

苏兴迎
今天
11
0
3.控件及其属性

1.文本 2.按钮

横着走的螃蟹
今天
9
0
安装Genymotion模拟器慢的解决方案

第一步点击下载, C:\Users\Administrator\AppData\Local\Genymobile\genymotion.log 中搜索 ova 会发现这个文件 使用迅雷下载即可. 在 虚拟机中导入这个.ova 文件 即可安装...

chenhongjiang
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部