2017-09-13 96 views
0

我目前使用Hazelcast Community Edition作爲緩存機制用於Web應用程序,所以它需要快速Hazelcast,MongoDB persistence

目前,我們存儲批次的數據在那裏,這是增長更多。由於它是內存數據庫,因此RAM很貴。所以想知道最佳做法是什麼。我打算只在緩存中存儲少量數據,並將剩餘的數據存儲在MongoDB中。我希望Hazelcast堅持並從MongoDB獲取數據,除非找不到它。

我已經創建了mapstore,但我不確定如何告訴它在MongoDB中查找無法在緩存中找到的數據。如果這個結果是空的,那麼getMap("something")就是這樣的情況,然後是MapStore的load("")

由於

回答

0

在EAGER模式它將加載在地圖初始化所有條目(等hz.getMap()) 在遲緩模式當它第一次觸摸它會加載一分區。

此外,如果您執行map.get()並且IMap中沒有值,它將嘗試使用MapLoader.load(key)方法從MapLoader加載該值。

另外,如果你做map.put()並且IMap中沒有值,它將執行MapLoader.load(key),因爲put方法應該返回以前的值。如果你想避免使用map.set()。

如果您查看與MapStore/MapLoader相關的手冊部分,那也不錯。它應該描述所有細微的差異。

相關問題