首页 > 其他分享 >Mybatis的一级、二级缓存

Mybatis的一级、二级缓存

时间:2022-08-20 22:12:20浏览次数:51  
标签:缓存 一级 作用域 默认 二级缓存 Session Mybatis

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

二级缓存:与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap 存储,不同在于其存储作用域为 Mapper(Namespace),并且可自定义存储源,如 Ehcache。默认不打开二级缓存,要开启二级缓存,使用二级缓存属性类需要实现Serializable序列化接口(可用来保存对象的状态),可在它的映射文件中配置<cache/>

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

标签:缓存,一级,作用域,默认,二级缓存,Session,Mybatis
From: https://www.cnblogs.com/chaos2022/p/16608889.html

相关文章

  • spring为什么不能只用一二级缓存来解决循环依赖?
    Springbean注入流程类实例化->属性注入->执行初始化方法->(如果有需要)生成代理对象->使用二级缓存存在的问题举例说明:A、B两个类相互依赖,初始化A的时候,第一步......
  • Mybatis的缓存
    1.Mybatis的一级缓存Mybatis的一级缓存是默认开启的,你只要搭建一个Mybatis框架,就可以直接使用一级缓存。一级缓存是SqlSession级别的,通过SqlSession查询的数据会被缓存,......
  • Mybatis组件介绍
    核心组件SqlSessionFactoryBuilderSqlSessionFactoryBuilder的作用就是通过XML或者Java代码来建造一个工厂(SqlSessionFactory),并且可以通过它建造多个这样的工厂。一旦......
  • MybatisPlus核心功能——实现CRUD增删改查操作 (包含条件构造器)
    CRUD官方文档:https://baomidou.com/(建议多看看官方文档,每种功能里面都有讲解)【本文章使用的mybatisplus版本为3.5.2】条件构造器一般都是用service层的方法,因为比ma......
  • MybatisPlus——实现多数据源操作
    多数据源适用:一般工作时候会有多个数据库,每个库对应不同的业务数据。程序如果每次数据都访问同一个数据库,该数据库压力很大访问会很慢。官方文档:https://baomidou.com/......
  • mybatis分页插件
    添加依赖<!--https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper--><dependency>  <groupId>com.github.pagehelper</groupId>  <artifa......
  • mybatis逆向工程
    正向工程先创建java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程逆向工程先创建数据库表,由框架负责数据库表,反向生成如下资源java实体类map......
  • mybatis核心配置文件
    Mybatis核心配置文件习惯上命名mybatis-config.xml,整合Spring之后,整个配置文件可以省略核心配置文件主要用于配置连接数据库的环境以及MyBatis的全局配置信息标签顺序......
  • mybatis查询功能
    预设的类型别名这些别名都大小写不敏感Mybatis的各种查询功能查询出的数据只有一条:可以通过实体类对象接收可以通过List接收可以通过Map接收查询出的数据......
  • mybatis获取参数值
    封装SqlSessionUtils/**  *获取SqlSession  *@paramb是否自动管理事务  *@return返回sqlsession  */  publicstaticSqlSession......