12

我已经安装了 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 的示例片段。

请向我提供示例代码。

4

2 回答 2

1

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

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

于 2020-04-21T09:53:43.700 回答
1

Hazelcast 在分区策略方面有两种类型的分布式对象:

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

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

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

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

于 2020-05-22T06:41:05.137 回答