听极客学院笔记
使用mybatis的缓存需要以下三步
一、在mybatis的config.xml中开启缓存
<settings>
<setting name="cacheEnabled" value="true" />
</settings>
二、在Mapper头中指定使用缓存
<cache readOnly="false" size="500" flushInterval="120000" eviction="LRU"></cache>
readOnly为true则所有相同的SQL语句返回同一个对象,有助于提高性能,但并发操作同一数据时可能不安全,如果设置为false则相同sql访问的是cache的clone副本。
size缓存多少个对象,默认值1024。
flushInterval缓存过期时间,单位是毫秒(1s=1000ms),默认为空,只要容量够则永不过期。
eviction是缓存的淘汰算法,可选值有"LRU"、"FIFO"、"SOFT"、"WEAK",缺省值是LRU
LRU最近最少使用,移除最长时间不被使用的对象。
FIFO先进先出。
SOFT软引用,基于垃圾回收器状态和软引用规则来移除对象。
WEAK弱引用,基于垃圾回收器状态和弱引用规则
三、在具体的SQL处指定使用缓存,默认开启
<select id="getRowCount" resultType="int" useCache="true">