我正在实现hazelcast MapLoader,它适用于loadAll和load方法 但是,在文档中,他们有给予人的例子,它只在loadAllKeys方法中返回null。
public Set<Long> loadAllKeys() {
return null;
}
此实现是否正确或是否需要在此处编写任何逻辑以从数据库加载密钥。
答案 0 :(得分:1)
如果返回null,则启用完全延迟加载。然后,每个密钥将直接传递到数据库,以便立即查找密钥和值。
答案 1 :(得分:1)
是的,这是一个正确的实施。
来自Hazelcast文档3.4“启动时初始化”部分:
您可以使用MapLoader.loadAllKeys API预先填充内存中的地图 首次触摸/使用地图时。如果MapLoader.loadAllKeys返回NULL 然后什么都不会加载。您的MapLoader.loadAllKeys实现可以 返回全部或部分键。例如,您可以选择并仅返回 热键。 MapLoader.loadAllKeys是预先填充的最快方式 因为Hazelcast将通过拥有每个节点来优化加载过程 加载其拥有的条目部分。