Ignite:在缓存中执行10次put操作时从缓存中删除数据

Ignite:在缓存中执行10次put操作时从缓存中删除数据,ignite,Ignite,我有一个json对象,我正在使用一个线程将其放入缓存,该线程每5秒调用一次,我想在执行10次put oration后删除缓存数据,并将该数据放入第三方数据库。我如何才能做到这一点,有哪些技巧可以做到这一点。如果您有一个示例,请与我们分享。谢谢您可以通过使用a和a来实现类似的行为 但是考虑到你想保存在缓存中的记录数量,我会这样做: private static final int BATCH\u SIZE=10; 私有映射批处理=新建HashMap(); 公共无效添加记录(K键,V值){ 批次。放

我有一个json对象,我正在使用一个线程将其放入缓存,该线程每5秒调用一次,我想在执行10次put oration后删除缓存数据,并将该数据放入第三方数据库。我如何才能做到这一点,有哪些技巧可以做到这一点。如果您有一个示例,请与我们分享。谢谢您可以通过使用a和a来实现类似的行为

但是考虑到你想保存在缓存中的记录数量,我会这样做:

private static final int BATCH\u SIZE=10;
私有映射批处理=新建HashMap();
公共无效添加记录(K键,V值){
批次。放置(k,v);
if(batch.size()==批大小){
刷新(批处理);//将数据写入数据库。
batch.clear();
}
}

那你为什么需要缓存呢?在很短的时间内,它最多只能包含10条记录。你能再解释一下你的用例吗?我正在做一个任务,我必须创建一个线程,每5秒生成一次数据,并在缓存上存储到缓存中,放置操作调用10次,然后它会自动从缓存中删除该数据并存储到第三方数据库中。我尝试使用批处理大小执行写后操作,但我找不到一个简单的代码,说明如何使用批处理大小和写后操作,如果您可以解释,请共享。谢谢这是学生作业吗?一个
HashMap
在这里似乎就足够了。这项任务真的需要使用分布式缓存吗?不,这不是学生的任务,实际上我们正在使用ignite并从物联网设备获取数据,因此为了快速存储和放入数据库,我们使用ignite