couchbaseTemplate.save(List <employee>)想要一次保存多个Object

时间:2017-06-19 08:09:18

标签: spring spring-boot spring-data couchbase spring-data-couchbase

我想在couchbase文档中保存多个Employee对象,但是在使用情况时会遇到什么困扰,我有一个大小为5的List对象。 假设当它在couchbase文档中保存了3个带有3个文件的对象时,有些沙发基础服务器如何在保存其余2个文件的情况下关闭,在这种情况下会发生什么。

1)我保存的所有文件是否都被回滚? 2)是否还会保留另外2份文件。?
3)如果不是两者,这个用例的推荐选项是什么。??

2 个答案:

答案 0 :(得分:0)

来自reference documentation

  

Couchbase Server不支持多文档事务或回滚。

因此,也不会发生。

如果您需要此类交易保证,则必须使用支持它们的数据库产品或自行实施。

使用非事务性存储的典型方法是,不依赖于一致性。例如,通过使用幂等操作,即在失败的情况下,您可以重做操作。

在特定示例中,您可能首先将5个文档存储为单个文档,然后在单独的进程中将其拆分。第一个写操作受事务保护,第二个过程可以重复,直到成功为止。

答案 1 :(得分:0)

添加到@ jens-schauder的答案: 如果Couchbase群集中至少有3个节点,则不应发生此问题。 假设一个节点发生故障,集群将自动故障转移该节点掌握的数据(1/3数据)到其他2个节点,因此写入将无缝地工作。