Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有可嵌入的事务性java键值存储,允许您在不首先删除对象的情况下覆盖对象_Java_Nosql_Key Value - Fatal编程技术网

是否有可嵌入的事务性java键值存储,允许您在不首先删除对象的情况下覆盖对象

是否有可嵌入的事务性java键值存储,允许您在不首先删除对象的情况下覆盖对象,java,nosql,key-value,Java,Nosql,Key Value,我希望能够做到以下几点: db.createDbIfNotExists("/some/file"); db.doInTransaction(new DbTransaction() { public void do() { for(KeyValue kv : listOfKvs) { ...some code that might fail... db.save(kv.getKey(), kv.getObject(

我希望能够做到以下几点:

 db.createDbIfNotExists("/some/file");

 db.doInTransaction(new DbTransaction() {
     public void do() {

         for(KeyValue kv : listOfKvs) {
            ...some code that might fail...
            db.save(kv.getKey(), kv.getObject());
         }
     }  
 }
如果已经存在任何键,我希望新对象覆盖该键处的旧对象。我不想加载并删除它或加载并更新它

如果在事务期间我的代码抛出异常,我希望写操作回滚

它需要能够在大约2/3分钟内写入500000个对象,每个对象少于1k

提前谢谢

汤姆

汤姆:

Redis是你最好的选择。我已经广泛使用了它,它是一种数据结构服务器,不应与具有最终一致性的数据库服务器混淆。它在内存中,有一个备份文件存储,速度非常快。更多详情请访问redis.io。命令集位于,并且具有事务支持


支持多种语言。java客户机可在

Try Scalien上使用,它具有java驱动程序、一致复制并支持ACID事务。

Redis和伏地魔都是关键/价值,如果我没记错的话,可以不加载就更新。你可能想看看我的评论,以防你不知道,我刚刚用Redis做了一个小的缓存数据库。