Сохранение данных на диске с помощью Hazelcast

Я установил 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.

Пожалуйста, предоставьте мне пример кода.


person Hazel_arun    schedule 28.02.2013    source источник
comment
Hazelcast не допускает сохранения файла. Цитата из документации ПРИМЕЧАНИЕ. Хранилище данных должно быть централизованной системой, доступной для всех участников Hazelcast. Сохранение в локальной файловой системе не поддерживается.   -  person mprabhat    schedule 21.11.2018
comment
Вам может помочь пример из hazelcast-code-samples.   -  person TongChen    schedule 22.05.2020


Ответы (2)


Hazelcast имеет два типа распределенных объектов с точки зрения их стратегий разделения:

  • Структуры данных, в которых каждая секция хранит часть экземпляра, а именно секционированные структуры данных.

  • Структуры данных, в которых один раздел хранит весь экземпляр, а именно неразделенные структуры данных.

Разделенные структуры данных Hazelcast сохраняют данные в локальной файловой системе не поддерживаются, требуется централизованная система, доступная для всех членов hazelcast, таких как mysql или mongodb.

Вы можете получить код из примеры кода hazelcast.

person TongChen    schedule 22.05.2020

Да, вы можете использовать MapStore и MapLoader для сохранения файла в локальном хранилище. Читайте официальную документацию здесь.

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

person Samrat    schedule 21.04.2020
comment
Карта представляет собой секционированную структуру данных Hazelcast. Хранилище данных должно быть централизованной системой, доступной для всех участников Hazelcast. Сохранение в локальной файловой системе не поддерживается. - person TongChen; 22.05.2020