2017-09-13 31 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相关的手册部分,那也不错。它应该描述所有细微的差异。

相关问题