使用Hazelcast在磁盘上保留数据

时间:2013-02-28 10:19:09

标签: java hazelcast in-memory

我安装了HazelCast 2.5。我想将我的记录保存到磁盘中。我了解到MapStore完成了这项工作。但是我不确定如何实现MapStore。

我编写的代码到目前为止:

    public class MyMaps implements MapStore<String,String> {

public static Map<Integer, String> mapCustomers = Hazelcast.getMap("customers");

public static void main(String[] args) {
{ 
    mapCustomers.put(1, "Ram");
    mapCustomers.put(2, "David");
    mapCustomers.put(3, "Arun");

}

}

如何将所有这些条目放入磁盘。

是否有必要使用像MySQL或PostgreSQL这样的后端来使用这个类?

我相信可以使用以下功能:

public void delete(String arg0);
public void deleteAll(String arg0);
public void store(String arg0);
public void storeAll(String arg0);

我需要一个如何实现MapStore的示例片段。

请提供示例代码。

请帮助。!!

3 个答案:

答案 0 :(得分:9)

在以下链接中,您可以找到示例地图存储实现(来自SimpleDB和HBase)。

是的,您应该拥有一个集中式数据存储区,并且您的MapStore实现将连接并运行。

答案 1 :(得分:0)

是的,您可以使用MapStore和MapLoader将文件持久保存到本地存储中。在此处阅读官方文档。

https://docs.hazelcast.org/docs/latest/manual/html-single/#loading-and-storing-persistent-data

答案 2 :(得分:0)

Hazelcast根据其分区策略有两种类型的分布式对象:

  • 每个分区存储一部分实例的数据结构,即分区的数据结构。

  • 单个分区存储整个实例的数据结构,即非分区数据结构。

不支持将分区的Hazelcast数据结构的持久性数据存储到本地文件系统,需要一个可从所有hazelcast成员(如mysql或mongodb)访问的集中式系统。

您可以从hazelcast-code-samples获取代码。