mybatis 二级缓存使用注意
2019独角兽企业重金招聘Python工程师标准>>>
今天想在项目里面 配置使用 redis缓存,想 使用redis 缓存 mybatis dao层的缓存。。。 即开始 使用redis 作为mybatis的 二级缓存使用。 项目是 小项目,默认是 没有开启二级缓存的。。。。 我看了一下 官方 mybatis 的配置,默认是 开启二级缓存的。。。 当前 感觉 很相信官方,觉得项目配置二级缓存错了,,,项目性能肯定有影响啊,不开启的话,而且人家官方都默认开启了,,, 然后接着继续百度看文章,,,, 我去啊,差点被自己坑死了。。。 原来二级缓存不能随便开的。要看场景和情况了。不然有可能造成数据不一致性而造成 很大的 BUG,就麻烦大了。。。当然 出现bug的几率会小很多,,,可是还是有可能的,到时候数据库里面的数据不一致了,就有点受了。不能为了 那点性能问题,,
<!--| 全局配置设置|| 可配置选项 默认值, 描述|| aggressiveLazyLoading true, 当设置为‘true’的时候,懒加载的对象可能被任何懒属性全部加载。否则,每个属性都按需加载。| multipleResultSetsEnabled true, 允许和不允许单条语句返回多个数据集(取决于驱动需求)| useColumnLabel true, 使用列标签代替列名称。不同的驱动器有不同的作法。参考一下驱动器文档,或者用这两个不同的选项进行测试一下。| useGeneratedKeys false, 允许JDBC 生成主键。需要驱动器支持。如果设为了true,这个设置将强制使用被生成的主键,有一些驱动器不兼容不过仍然可以执行。| autoMappingBehavior PARTIAL, 指定MyBatis 是否并且如何来自动映射数据表字段与对象的属性。PARTIAL将只自动映射简单的,没有嵌套的结果。FULL 将自动映射所有复杂的结果。| defaultExecutorType SIMPLE, 配置和设定执行器,SIMPLE 执行器执行其它语句。REUSE 执行器可能重复使用prepared statements 语句,BATCH执行器可以重复执行语句和批量更新。| defaultStatementTimeout null, 设置超时时间,它决定驱动等待数据库响应的秒数。| --><settings><!-- 这个配置使全局的映射器启用或禁用缓存,true 开启mybatis默认的二级缓存,默认是 true.但是 为了数据的准确性,不要推荐使用 二级缓存或者是redis... 除非是 慢查询或者是数据量很大的,或者其他场景下,一般情况不要开启二级缓存或者随便使用第三方的缓存.特别的是 : 一种最场景的场景就是 后台SQL客户端数据库执行改了SQL,前端查询还是之前的缓存数据就苦逼了。。。--><setting name="cacheEnabled" value="false"/><!-- 全局启用或禁用延迟加载。当禁用时,所有关联对象都会即时加载延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。 特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态。默认是 false --><setting name="lazyLoadingEnabled" value="true"/><setting name="multipleResultSetsEnabled" value="true"/><setting name="useColumnLabel" value="true"/><setting name="defaultExecutorType" value="REUSE"/><setting name="defaultStatementTimeout" value="25000"/></settings>
参考地址: http://blog.csdn.net/isea533/article/details/44566257
以及 http://blog.csdn.net/potentialenergy/article/details/52924139
转载于:https://my.oschina.net/u/2419285/blog/898462
mybatis 二级缓存使用注意相关推荐
- 深入了解MyBatis二级缓存
深入了解MyBatis二级缓存 一.创建Cache的完整过程 我们从SqlSessionFactoryBuilder解析mybatis-config.xml配置文件开始: Reader reader ...
- Mybatis二级缓存原理
记录是一种精神,是加深理解最好的方式之一. 最近看了下Mybatis的源码,分析了二级缓存的实现方式,在这里把他记下来.虽然这不复杂,对这方面的博客也有很多,写的也很好.但我坚信看懂了是其一,能够教别 ...
- MyBatis复习(六):MyBatis二级缓存
Mybatis缓存分为一级缓存和二级缓存 MyBatis一级缓存是默认开启的,数据存储范围是SqlSession会话这个级别,当SqlSession关闭后,缓存就会被清除,生命周期非常短. MyBat ...
- Mybatis一级缓存、整合第三方缓存ehcache、Mybatis二级缓存
8. 缓存 8.1 一级缓存 在对数据库的一次会话中,我们有可能会反复地执行完全相同的查询语句,如果不采取一些措施的话,每一次查询都会查询一次数据库,而我们在极短的时间内做了完全相同的查询,那么它们的 ...
- Mybatis 二级缓存简单示例
简介 简单接收Mybatis中二级缓存的使用示例 概览 主要部分如下: 引入Maven依赖 SpringBoot配置文件配置.建库与初始化SQL语句 实体类与Mapper编写 测试 Maven依赖 完 ...
- SpringBoot整合Redis配置MyBatis二级缓存
目录 写在前面 源码获取 一.MyBatis缓存机制 1.1.一级缓存 1.2.二级缓存 二.集成Redis 2.1.安装Redis 2.2.项目引入Redis 2.2.1.Maven依赖 2.2.2 ...
- Mybatis二级缓存的缺陷
一级缓存默认是开启的(但是整合了Spring,Mybatis的一级缓存默认就失效了) 二级缓存是要手动配置开启的(二级缓存是mapper级别的缓存,可以跨SqlSession) Mybatis二级缓存 ...
- mybatis二级缓存
mybatis二级缓存 Mybatis中一级缓存 和 二级缓存的区别 一级缓存(本地缓存) 二级缓存(全局缓存) 二级缓存开启 mybatis解读 总结 Mybatis中一级缓存 和 二级缓存的区别 ...
- MyBatis研习录(13)——MyBatis二级缓存
C语言自学完备手册(33篇) Android多分辨率适配框架 JavaWeb核心技术系列教程 HTML5前端开发实战系列教程 MySQL数据库实操教程(35篇图文版) 推翻自己和过往--自定义View ...
- Mybatis 一级缓存,Mybatis 二级缓存,Mybatis 缓存失效
Mybatis 一级缓存,Mybatis 二级缓存,Mybatis 缓存失效 ================================ ©Copyright 蕃薯耀 2021-06-24 ht ...
最新文章
- C#使用StreamReader类读取汉字
- 腾讯招.NET要求以下几点,你准备好了吗?
- 位,字,字节之间关系及关联知识普及
- 综述 | Google团队发布,一文概览Transformer模型的17大高效变种
- Atitit. 包厢记时系统 的说明,教程,维护,故障排查手册v2 pb25.doc
- 华为P30Pro开箱照曝光 四摄模组+徕卡镜头确认
- 互联网思维借鉴的两个核心
- python入门——P41魔法方法:构造和析构
- Boost Asio 使用技巧
- 如何在win10 64位下搭载汇编环境(包含汇编dosbox和masm文件)
- Linux 之CentOS7-VSFTP搭建
- 啊哈C语言 第八章 【代码】【习题答案】
- 马蜂窝火车票系统服务化改造初探
- 高等数学学习指导_学习A-Level应该如何选课?
- 通过日志对内存泄漏的检查
- 设置谷歌浏览器的flash 插件
- python运维自动化老男孩_老男孩Python高级运维自动化实战 老男孩Python高级运维开发10期 全套Python视频教程下 ......
- 吞食天地2忘云殇8.77图文攻略
- 关于学生和老师关系的换位思考
- 【怎样制作ppt课件】Focusky教程 | 设置插入的视频循环播放
热门文章
- HDU 1242 Rescue
- 我的专属QQ 功能篇 (一)
- oralcle中的性能统计基本用法statpack
- AndroidStudio_安卓原生开发_自定义服务器Token验证_MD5加密方法---Android原生开发工作笔记156
- C++_选择结构_单行if语句_多行if语句_多条件if语句_嵌套if语句_三目运算符---C++语言工作笔记016
- npm的常用配置项---npm工作笔记004
- 编程范式之rotate操作
- java 数字的进制转换
- VS CODE离线安装C/C++扩展的方法
- 基于ext4j的带jar文件的java程序打包方法