2014-07-25 33 views
0

我正在使用MyBatis的3.2.7版本,我想要做的是能夠在應用程序使用前預先填充緩存,所以在啓動時。使用MyBatis的批量預緩存

在實際應用中這樣說,我想搜索一個特定的用戶信息:

<select id="selectSpecificUser" parameterType="int"> 
     SELECT * 
     FROM users 
     WHERE userid=#{id} 
    </select> 

所以,當這個被調用時,它會檢查緩存,如果它不存在,那麼它會搜索D B。有沒有一種方法可以預先加載此緩存與此表中的每條記錄,以便在調用此方法時,它會從緩存而非數據庫中選取它?

回答

1

嘗試添加以下代碼到你的SQL映射文件

<cache/> 

這將在的MyBatis使全局緩存,並應在默認緩存從SELECT語句在映射文件中的所有結果(受各種條件影響,包括LRU驅逐)。

你可以溫暖自己的高速緩存(而不是等待第一個用戶導致調用)通過手動調用該SELECT聲明中設置(或同等學歷)方法在你的程序被加載映射文件

Mybatis Caching Info

還有一個在該鏈接來改變默認行爲,包括類型,尺寸,和刷新時間間隔的信息;以及如果您的需求非常具體,可以創建自定義緩存。