MyBatis---缓存策略cache的使用
一般在查询时使用
使用步骤
1.配置config.xml,开启缓存
<setting name=”cacheEnabled” value=”true” />
2.在Mapper文件头指定使用缓存
<cache readOnly=”true” size=”500” flushInterval=”120000” eviction=”LRU” />
flashInterval指缓存过期时间,单位为毫秒,60000即为60秒,缺省值为空,即只要容量足够,永不过期
size指缓存多少个对象,默认值为1024
readOnly是否只读,如果为true,则所有相同的sql语句返回的是同一个对象(有助于提高性能,但并发操作同一条数据时,可能不安全),如果设置为false,则相同的sql,后面访问的是cache的clone副本。
eviction是缓存的淘汰算法,可选值有"LRU"、"FIFO"、"SOFT"、"WEAK",缺省值是LRU
LRU:最近最少使用,移除最长时间不被使用的对象,默认策略
FIFO:先进先出,按对象进入缓存的顺序来移除
SOFT:软引用,移除基于垃圾回收器状态和软引用规则的对象
WEAK:弱引用,更积极地移除基于垃圾收集器状态和弱引用规则的对象
3.在具体的sql语句除指定使用缓存,默认(true)开启
<select id=”selectCount” useCache=”true”>