我安装了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的示例片段。
请提供示例代码。
请帮助。!!
答案 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获取代码。