簡體   English   中英

使用MyBatis進行批量預緩存

[英]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語句來自己預熱緩存(而不是等待第一次用戶誘導的調用)。

Mybatis緩存信息

該鏈接中還包含更改默認行為的信息,包括類型,大小和刷新間隔。 以及在您的需求非常具體時創建自定義緩存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM