Mybatis缓存简介
* 什么是缓存【Cache】?
- 存储在内存中的临时数据,断电即失。
- 将用户查询的数据放在缓存(内存)中,用户查询数据的时候就不用再磁盘上查询,而是在缓存中查询,这样可以大大提到查询效率。解决了高并发系统的性能问题。
* 为什么要使用缓存【Cache】?
- 减少与数据库的交互次数,减少系统开销,提高系统效率。
* 什么样的数据适合使用缓存?
- 经常需要做查询,很少需要更改的数据。
* Mybatis缓存
- Mybatis包含一个非常强大的缓存特性,他可以非常方便的定制和配置缓存,缓存可以极大的提成查询效率。
- Mybatis中默认定义了两极缓存 一级缓存 和 二级缓存.
> 默认情况下只一级缓存开启(SqlSession级别的缓存,也称为本地缓存)
> 二级缓存需要手动开启和配置,它是基于namespace级别的缓存(一个mapper接口对应一个namespace)
> 为了提高扩展性,Mybatis定义了缓存接口Cache,可以通过实现Cache接口来自定义二级缓存。
- 清除策略 默认的清除策略是 LRU
可用的清除策略有:
LRU – 最近最少使用:移除最长时间不被使用的对象。
FIFO – 先进先出:按对象进入缓存的顺序来移除它们。
SOFT – 软引用:基于垃圾回收器状态和软引用规则移除对象。
WEAK – 弱引用:更积极地基于垃圾收集器状态和弱引用规则移除对象。