二级缓存:
全局缓存,namespace级别的缓存
若开启了二级缓存,sqlsession对象关闭或提交之后,属于同一个namespace中(同以个xml文件中)的一级缓存会将信息存入二级缓存中。
二级缓存的使用细节:
1.在全局配置文件中开启二级缓存(mybatis是默认开启的)
<setting name="cacheEnabled" value="true"/>
2.再在要开启缓存的Mapper.xml开启,之间在XML文件中加入一个cache标签即可
<cache eviction="FIFO" readOnly="true" size="1024"flushInterval="6000">
</cache>
3.对象的POJO(JavaBean)必须实现序列化接口
二级缓存中的一些属性:
1.eviction:缓存的回收策略(默认LRU)
①FIFO 先进先出
②LRU 最近最少使用
③SOFT 软引用
④WEAK 弱禁用
2.flushInterval:缓存的清空时间(默认不清空)
3.readOnly:缓存是否只读(默认true)
①true 只读,速度慢 安全
②false 非只读 速度快 不安全
4.size:缓存存放多少个元素