- 如何配置缓存
- Mybatis 的缓存配置非常方便,三个配置就可以搞定,如:
- 第一个配置Mybatis的config.xml,开启缓存:
<? xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="cacheEnabled" value="true" />
</settings>
</configuration> - 第二个需要在Mybatis的Mapper文件头指定使用缓存
<cache readOnly="true" size="1024" flushInterval="120000" eviction="LRU"/>- readOnly 只读,设置为True所有相同的Sql语句返回的是同一个对象,有助于提高性能,在并发操作同一条SQL时,可能不安全。设置为False,则相同的SQL后边访问的是Cache的副本。
- size 指的是缓存多少的对象,默认为1024
- flushInterval 指定缓存过期的时间,单位为毫秒,默认为空,只要缓存足够,永远不过期
- eviction 指的是缓存的策略淘汰算法,默认淘汰算法是最近最少使用算法。还有先进先出算法。
- 第三个配置是在具体的SQL语句处使用缓存,默认是开启的,如:
<select id="selectByParams" resultType="com.lister.smdemo.entity.TableIp" parameterType="map" useCache="true">
select * from table_ip order by findTime desc limit ${offset}, ${size}
</select>
- 第一个配置Mybatis的config.xml,开启缓存:
- Mybatis 的缓存配置非常方便,三个配置就可以搞定,如:
- 常见的缓存策略
- LRU 最近最少使用,移除最长时间不被使用的对象,为默认策略
- FIFO 先进先出,按对象进入缓存的顺序来移除它们
- SOFT 软引用,移除基于垃圾回收器状态和软引用规则的对象
- WEAK 弱引用,更积极的移除基于垃圾收集器状态和弱引用规则对象
- config.xml的引用方式:
- 在Mybatis的配置文件中引入,如: