<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="test">
<!--開啓二級緩存-->
<cache eviction="LRU" flushInterval="600000" size="512" readOnly="true" />
</mapper>
eviction: 是緩存清除策略,當緩存對象數量達到上限後,會自動觸發對應算法對緩存對象清除
LRU: 清除最近最少使用
FIFO: 先進先出:按對象進入緩存的順序來移除他們
SOFT: 軟引用 移除基於垃圾回收器狀態和軟引用規則對象
WEAK: 弱引用 更積極的移除基於垃圾收集器狀態和弱引用規則的對象
flushInterval: 代表間隔多長時間自動清除緩存
size: 代表緩存最大數量
readOnly: true代表緩存只讀
mybatis中默認開啓一級緩存,即同一個sqlSession中緩存查詢出的結果,但是sqlSession銷燬後,緩存就結束了,應用的場景不多,如果我們需要緩存超出sqlSession,這是需要開啓二級緩存,mybatis的二級緩存是以namespace來區分。