2008-11-04 53 views
1

我正在使用ehCache來存儲大量的數據。 此緩存每秒訪問約3次,並且必須保持最新。 我有一個線程運行,每分鐘檢索我需要從數據庫緩存中的所有數據到不同的緩存(不同的緩存管理器也)。 我想要做的就是將數據從新緩存中的內容複製到每秒鐘以快速,可靠和同步方式訪問的緩存中。 (例如,調用替換方法傳遞現有的緩存,以及新的緩存並快速安全地更新新的緩存)Ehcache和Java

有沒有辦法在ehCache中做到這一點?

任何幫助,非常感謝。

感謝 達明

回答

6

這聽起來像你正在尋找一個複雜的解決問題的Ehcache解決外的開箱。

您只需要一個緩存管理器。將其配置爲每分鐘刷新一次。如果需要,可以通過創建一個每分鐘刷新一次緩存的線程來完成。

當您嘗試從緩存中檢索某些內容時,它不存在再次加載數據。如果要確保填充緩存塊進度,請將此緩存檢索位置於同步方法或塊中。

+0

您好Steve 感謝您的回覆,它是有用的。 我唯一擔心的是,如果用戶提交了一個請求,並且他們正在查找的項目正在被加載,這會不會導致緩慢的結果? 謝謝 Damien – Damien 2008-11-04 13:19:37

0

+1至Steve McLeod

SelfPopulatingCache

我相信這將做正是你想要什麼,而且要快。

如果你仍然想保持兩個緩存,這是仍然的路要走。只需讓CacheFactory實例從您的自我維護緩存中返回緩存值。