一、MyBatis缓存介绍

正如大多数持久层框架一样,MyBatis 同样提供了一级缓存二级缓存的支持

  1. 一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Session,当 Session flush  close 之后,该Session中的所有 Cache 就将清空

2. 二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap存储,不同在于其存储作用域为 Mapper(Namespace),并且可自定义存储源,如 Ehcache。

3. 对于缓存数据更新机制,当某一个作用域(一级缓存Session/二级缓存Namespaces)的进行了 C/U/D 操作后,默认该作用域下所有 select 中的缓存将被clear。

1.1、Mybatis一级缓存测试

1.2、Mybatis二级缓存测试

1、开启二级缓存,在userMapper.xml文件中添加如下配置

2、测试二级缓存

1.3、二级缓存补充说明

1. 映射语句文件中的所有select语句将会被缓存。

2. 映射语句文件中的所有insert,update和delete语句会刷新缓存。

3. 缓存会使用Least Recently Used(LRU,最近最少使用的)算法来收回。

4. 缓存会根据指定的时间间隔来刷新。

5. 缓存会存储1024个对象

cache标签常用属性:

MyBatis学习总结(七)——Mybatis缓存相关推荐

  1. Mybatis学习笔记(一) —— mybatis介绍

    一.Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...

  2. 【最全Mybatis学习笔记(导入mybatis相关jar包)】

    目录 1. 什么是Mybatis 2. 如何引入Mybatis? 3.编写Mybatis工具类 4. 万能Map 5. 模糊查询怎么写? 6. 作用域(Scope)和生命周期SqlSessionFac ...

  3. Mybatis学习第一天——Mybatis的安装配置以及基本CURD操作

    1.Mybatis下载 Mybatis是开源的持久层框架,能够度jdbc进行简单的封装,但其并不是完全的ORM(Object Relational Mapping,对象关系映射),无法脱离数据库进行适 ...

  4. 【MyBatis】学习纪要七:缓存(一)

    2019独角兽企业重金招聘Python工程师标准>>> 写在前面的话 缓存对数据库来说,不是必须,但对于系统来说,缓存是少不了的.我在之前的开发中没有学缓存,也没用到,所以这一次学M ...

  5. 【MyBatis学习8】MyBatis中的二级缓存

    1. 二级缓存的原理 前面介绍了,mybatis中的二级缓存是mapper级别的缓存,值得注意的是,不同的mapper都有一个二级缓存,也就是说,不同的mapper之间的二级缓存是互不影响的.为了更加 ...

  6. 【Mybatis学习总结七】调用存储过程

    今天这节课本来可以一小时结束的,我却从三点半搞到了九点.我觉得我是世界上最S13的人!!!没有之一!!!!一个小错害我花了一个晚上的时间去寻找,真是够无语的.好了,言归正传,还是先总结下今天学习的内容 ...

  7. 【MyBatis学习13】MyBatis中的二级缓存

    1. 二级缓存的原理 前面介绍了,mybatis中的二级缓存是mapper级别的缓存,值得注意的是,不同的mapper都有一个二级缓存,也就是说,不同的mapper之间的二级缓存是互不影响的.为了更加 ...

  8. SqlMapConfig.xml配置文件---Mybatis学习笔记(七)

    SqlMapConfig.xml文件的配置内容: SqlMapConfig.xml中配置的内容和顺序如下: properties(属性) settings(全局配置参数) typeAliases(类型 ...

  9. mybatis学习(45):开启二级缓存

    目录结构 com.geyao.mybatis.mapper BlogMapper类 package com.geyao.mybatis.mapper;import java.util.List; im ...

最新文章

  1. redis 慢日志 slowlog
  2. 技术动态 | 67 亿美金搞个图,创建知识图谱的成本有多高你知道吗?
  3. Cloud一分钟 | 谷歌退出美国防部云计算竞标;网络黑灰产业已近千亿,个人信息泄露是源头...
  4. 周报(2017.3.19-3.16)
  5. Python中提供的各种队列结构
  6. 蓝桥杯2020国赛太原理工学子成绩大跃进
  7. [bzoj 1452] [JSOI2009]Count
  8. android中handler简单用法
  9. c++ string字符串翻转
  10. 解决报错“No module named ‘pyLDAvis.gensim‘”
  11. vue可以配合jade以及sass吗_在vue中如何使用Jade模板 - echart
  12. 手机谷歌浏览器设置不阻止弹窗弹出
  13. 核方法也称为核技巧(Kernel method)
  14. 哪些网站不适合做seo优化
  15. Linux打字游戏程序代码,c语言shell打字游戏.pdf
  16. canvas-实现放大镜效果
  17. 视频之四:视频流连接
  18. stc89C51系列单片机介绍
  19. linux 时间与bios,Linux操作系统时间与BIOS硬件时间
  20. 网络变压器工厂:了解POE POE+ 网络变压器(网络隔离滤波器)

热门文章

  1. 加固前奏2-替换application
  2. centons7编译安装zabbix3.4【转https://www.cnblogs.com/kowloon/p/7771495.html】
  3. 消息系统kafka原理解析
  4. Google员工自述:在哈佛教书和在Google工作的差别
  5. python 赋值、表达式
  6. 51 单片机 跑马灯2
  7. ubuntu各版本代号(更新至15.04)及各版本下载地址等
  8. python在windows安装paramiko模块
  9. 《Python核心编程》第二版第36页第二章练习 -Python核心编程答案-自己做的-
  10. 2009-12-12