首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原子更新2个Couchbase文档

原子更新2个Couchbase文档
EN

Stack Overflow用户
提问于 2016-05-19 11:30:43
回答 2查看 370关注 0票数 1

您能给我一个提示吗?有没有办法用Java原子地更新Couchbase上的多个文档?我知道,使用文档嵌入是可能的,因此保证了所需的,但不幸的是,它并不适用于我。

在我的例子中,文档更新的事实导致它需要使其他文档无效(将特殊标志设置为false),并且应该原子地执行它。

我感谢你方的任何帮助或建议。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-21 08:14:02

虽然不存在对多个文档执行原子更改的内置方式,但可以使用两阶段提交实现相同的结果。请注意,在本例中,2PC不提供其他事务性特性,比如隔离和一致性,只提供原子性--这正是您所要求的。在Java中没有引用2PC实现,但是在文档中有两个在Ruby和PHP中。我建议在Couchbase中阅读提供事务逻辑上的文档,以深入描述如何实现这一点。将示例代码移植到Java应该相当简单。

一般来说,要原子地在多个文档上实现一组更改,依次执行对每个文档的原子写入,再加上一个临时的“状态”文档,使流程中的每个步骤都是唯一的。通过这种方式,您可以从相同的步骤继续或回滚您的更改,如果事务因任何原因在中间被中断。

票数 1
EN

Stack Overflow用户

发布于 2016-05-19 16:32:24

不幸的是,这归结为事务,Couchbase不提供本地事务支持。您可以通过Couchbase实现的原子性级别在单个文档的级别上。

我知道有些couchbase用户已经在他们的应用程序代码层实现了手动事务管理,但这是一个相当复杂的主题,据我所知,没有公开可用的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37321895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档