【MyBatis】 0502 Mybatis 之缓冲

一、二级缓冲

1、二级缓存(secondlevelcache),全局作用域缓存

2、二级缓存默认不开启,需要手动配置

  1. MyBatis提供二级缓存的接口以及实现,缓存实现要求 POJO实现Serializable接口
  1. 二级缓存在SqlSession关闭或提交之后才会生效

3、使用步骤

  1. 全局配置文件中开启二级缓存

  1. 需要使用二级缓存的映射文件处使用cache配置缓存 •
 
  1. POJO需要实现Serializable接口

二、缓存相关属性

1、eviction=“FIFO”:缓存回收策略:

  1. LRU – 最近最少使用的:移除最长时间不被使用的对象。
  1. FIFO – 先进先出:按对象进入缓存的顺序来移除它们。
  1. SOFT – 软引用:移除基于垃圾回收器状态和软引用规则的对象。
  1. WEAK – 弱引用:更积极地移除基于垃圾收集器状态和弱引用规则的对象。

5)默认的是 LRU。

2、flushInterval:刷新间隔,单位毫秒

默认情况是不设置,也就是没有刷新间隔,缓存仅仅调用语句时刷新

3、 size:引用数目,正整数

代表缓存最多可以存储多少个对象,太大容易导致内存溢出

4、readOnly:只读,true/false

true:只读缓存;会给所有调用者返回缓存对象的相同实例,不安全,速度快

false:读写缓存;会返回缓存对象的拷贝(通过序列化)。安全,速度慢

默认是 false

你可能感兴趣的:(【Mybatis】)