couchbase 3.0是否支持交易?

时间:2015-02-13 04:44:40

标签: couchbase

  • couchbase config

主机: ip:127.0.0.1端口:17000

水桶: Bucket1 Bucket2 Bucket3

我想将3个桶{set(Bucket1),set(Bucket2),set(Bucket3)}设置为事务。

我应该如何实施?

2 个答案:

答案 0 :(得分:6)

简短的回答是'不'。 Couchbase不支持跨不同文档的事务。正如Mayer所提到的,您可以通过不同地建模数据来避免交易的需要。但是,如果必须拥有它,则可以使用两阶段提交来获取部分事务功能(原子性和持久性,但不是隔离或一致性。)

您可以在这里阅读2PC:http://en.wikipedia.org/wiki/Two-phase_commit_protocol,特别是与Couchbase相关的内容:http://docs.couchbase.com/couchbase-devguide-2.5/#performing-two-phase-commits

答案 1 :(得分:5)

Couchbase Server 6.5(在撰写本文时为Beta版)开始,有一种方法可以在单个transaction中原子地修改多个文档。您可能会希望将此模型建模为不同集合中的文档。