gpt4 book ai didi

java - 是否有一个可嵌入的事务性 java 键值存储,允许您覆盖对象而无需先删除它

转载 作者:行者123 更新时间:2023-12-01 05:22:04 24 4
gpt4 key购买 nike

我希望能够做这样的事情:

 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 分钟内写入 500,000 个小于 1k 的对象。

提前致谢。

汤姆

最佳答案

汤姆:

Redis 是您最好的选择。我已经广泛使用它,它是一个具有最终一致性的数据结构服务器(不要与数据库服务器混淆)。它位于带有备份文件存储的内存中,并且速度非常快。更多详细信息请访问 redis.io。命令集位于 http://redis.io/commands也有交易支持 http://redis.io/topics/transactions

支持多种语言。 java 客户端可在 https://github.com/xetorthio/jedis 获取。

关于java - 是否有一个可嵌入的事务性 java 键值存储,允许您覆盖对象而无需先删除它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10232711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com