[英]Bulk Pre-Caching using MyBatis
我正在使用MyBatis的3.2.7版本,我想做的是能夠在使用該應用程序之前預填充緩存,以便啟動。
這么說,在實際的應用程序中,我想搜索特定的用戶信息:
<select id="selectSpecificUser" parameterType="int">
SELECT *
FROM users
WHERE userid=#{id}
</select>
因此,當調用此方法時,它將檢查緩存,如果不存在,則它將搜索數據庫。 有沒有一種方法可以使用此表中的每個記錄預加載此緩存,以便在調用此方法時從緩存而不是從數據庫中提取它?
嘗試將以下標記添加到您的SQL映射文件中 :
<cache/>
這將在Mybatis中啟用全局緩存 ,並且默認情況下應將SELECT
語句的所有結果緩存在映射器文件中(受各種條件限制,包括LRU收回 )。
您可以通過在加載映射程序文件的程序中的setup (或等效方法)中手動調用SELECT
語句來自己預熱緩存(而不是等待第一次用戶誘導的調用)。
該鏈接中還包含更改默認行為的信息,包括類型,大小和刷新間隔。 以及在您的需求非常具體時創建自定義緩存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.