2015-06-09 55 views
2

我實現了hazelcast MapLoader,它對loadAll和load方法工作正常。
但是,在文檔中他們有給人的例子,它只是在loadAllKeys方法中返回null。Hazelcast:MapLoader文檔爲loadAllKeys提供空實現

public Set<Long> loadAllKeys() { return null; }

這是實現正確的或者我需要寫在這裏的任何邏輯從數據庫中加載密鑰。

回答

1

如果您返回null,則啓用完全延遲加載。然後,每個密鑰將被傳遞到數據庫,以便立即查找關鍵字和值。

+0

如果我想在這種情況下最初加載密鑰? – Vishal

+0

只需返回一組鍵 – noctarius

0

是的,這是一個正確的實施。

從Hazelcast文檔3.4節「初始化啓動時」:

您可以使用MapLoader.loadAllKeys API在內存中時,地圖第一次接觸/使用的地圖 預填充。如果MapLoader.loadAllKeys返回NULL 則不會加載任何內容。您的MapLoader.loadAllKeys實現可以返回全部或部分密鑰。例如,您可以選擇並返回僅熱鍵 。 MapLoader.loadAllKeys是預先填充 地圖的最快方式,因爲Hazelcast將通過讓每個節點加載它所擁有的條目部分來優化加載過程。