MyBatis之六 快取

2022-02-14 20:12:46 字數 632 閱讀 2886

所有的這些屬性都可以通過快取元素的屬性來修改。比如:

這個更高階的配置建立了乙個fifo快取,並每隔60秒重新整理,存數結果物件或列表的512個引用,而且返回的物件被認為是唯讀的,因此在不同執行緒中的呼叫者之間修改它們會導致衝突。

可用的收回策略有:

1、 lru – 最近最少使用的:移除最長時間不被使用的物件。

2、fifo – 先進先出:按物件進入快取的順序來移除它們。

3、soft – 軟引用:移除基於垃圾**器狀態和軟引用規則的物件。

4、weak – 弱引用:更積極地移除基於垃圾收集器狀態和弱引用規則的物件。

預設的是lru。

flushinterval(重新整理間隔)可以被設定為任意的正整數,而且它們代表乙個合理的毫秒形式的時間段。預設情況是不設定,也就是沒有重新整理間隔,快取僅僅呼叫語句時重新整理。

size(引用數目)可以被設定為任意正整數,要記住你快取的物件數目和你執行環境的可用記憶體資源數目。預設值是1024。

readonly(唯讀)屬性可以被設定為true或false。唯讀的快取會給所有呼叫者返回快取物件的相同例項。因此這些物件不能被修改。這提供了很重要的效能優勢。可讀寫的快取會返回快取物件的拷貝(通過序列化)。這會慢一些,但是安全,因此預設是false。

MyBatis之快取介紹

快取是存在記憶體中的臨時資料。將使用者經常查詢的資料放在快取 記憶體 中,使用者去查詢資料就不用從磁碟上 關係型資料庫資料檔案 查詢,從快取中查詢,從而提高查詢效率,解決了高併發系統的效能問題。使用快取能夠減少和資料庫的互動次數,減少系統開銷,提高系統效率。經常查詢並且不經常改變的資料能夠使用快取。...

Mybatis系列之 快取機制

正如大多數持久層框架一樣,mybatis 同樣提供了一級快取和二級快取的支援 一級快取 基於perpetualcache 的 hashmap本地快取,其儲存作用域為session,當session flush或close之後,該session中的所有 cache 就將清空。3.對於快取資料更新機制,...

hibernate快取,mybatis快取詳解

hibernate的快取有一級快取,二級快取,查詢快取。一級快取 很簡單,session級別的快取,通過get,update可以將物件放到一級快取中。二級快取 sessionfactory級別的快取,通過get,list可以將物件放到二級快取中,這裡我必須細講一下,list雖然能夠把物件放入二級快取...