一般在查詢時使用
使用步驟
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”>