ignite - 在 Apache Ignite 中合并两个持久缓存
问题描述
我的应用程序使用 Apache Ignite 持久存储。几个星期以来,我运行了存储持久数据的应用程序,比如说“c:\db1”。后来我用 c:\db2 中的持久数据运行了同一个应用程序。数据仅存储在这一个服务器节点上。有没有办法将数据从 db1 文件夹合并到 db2 文件夹?
解决方案
不,你不能,至少不容易。
最好的方法是两个在不同的集群中启动两个节点,一个使用c:\db1
,一个使用c:\db2
,并将数据从一个到另一个:
- 启动两个集群
- 启动将加载数据的辅助应用程序
- 在应用程序中,启动两个具有不同配置的客户端节点——一个连接到第一个集群,一个连接到第二个集群
大致这样传输数据(代码未测试!)
IgniteCache cache1 = client1.cache("mycache"); IgniteCache cache2 = client2.cache("mycache"); for (Cache.Entry e : cache1.query(new ScanQuery())) { client2.put(e.getKey(), e.getValue()); }
推荐阅读
- api - 维基百科地理定位并没有给出所有最近的页面
- angular - 使用 PouchDB 和 Ionic 3 查找文档
- ios - 无法识别的选择器发送到实例 - 应用程序仅在发布时崩溃
- laravel - Laravel 软件包哎呀异常
- terraform-provider-aws - 如何为 AWS CodeCommit 生成 HTTPS Git 凭证?
- python - 在 Django Rest Framework 中指定相关的字符串字段
- php - 在循环中使用准备好的语句插入几行
- python - Django(或 sqlite3)更改模型的属性序列
- php - 如何合并具有相同日期的行
- node.js - 用户注销后如何刷新端点数据?节点/反应