gpt4 book ai didi

couchdb - 处理 BigCouch 中复制引起的冲突

转载 作者:行者123 更新时间:2023-12-02 04:31:14 25 4
gpt4 key购买 nike

CouchDB Replication and Conflicts wiki 页面建议使用 _bulk_docsall_or_nothing=true 来强制写入文档的新版本,即使这会在写入时引入冲突,但会在后续读取后不久解决。我已经实现了这个,从概念上讲它似乎工作正常。

但 BigCouch 不支持 all_or_nothing 语义,因此写入批量文档可能会返回 409 冲突结果。针对 BigCouch 中的复制引入的冲突实现类似的应用程序级冲突解决方案的最佳实践是什么?我应该考虑写入时冲突解决吗?

最佳答案

如果附件发生冲突,则获取要更新的文档的修订号,并在发生冲突时递归调用,

$url = "http://couchdb/DATABASE/DOCID/ATTACHMENTNAME?rev=$rev";
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_PUT, true );
curl_setopt( $ch, CURLOPT_URL, $url );
curl_exec( $ch );

关于couchdb - 处理 BigCouch 中复制引起的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11279382/

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