将实体从一个Ignite缓存复制到另一个的最快方法是什么?

时间:2018-09-24 13:09:31

标签: java ignite

我正在寻找一种方法,将具有给定键的所有实体从一个Ignite缓存复制到另一个。尽管人们一直在不断获取新数据,但每隔x秒,所有数据都必须复制到cache2中。我尝试使用EntryProcessor是因为我只需要复制数据(在同一节点上):

EntryProcessor p = new EntryProcessor() {
    @Override
    public Object process(MutableEntry entry, Object... objects) throws EntryProcessorException {
        entry.setValue(cache.get((long)entry.getKey()));
        return null;
    }
};

read_cache.invokeAll(key_set, p);
key_set.clear();

但是它工作非常慢。我加载的数据约为17k / sec,但正在以大约5k / s的速度进行复制。

1 个答案:

答案 0 :(得分:0)

我会尝试在扫描查询和/或连续查询中使用DataStreamer。只是不要忘记定期冲洗它。