使用更新处理程序时修订冲突的可能性有多大?在编写健壮的更新函数时,应该关注冲突处理代码吗?
正如文档更新处理程序中所描述的,CouchDB 0.10和更高版本允许按需修改服务器端文档.
Update处理程序可以处理非JSON格式;但其他主要特性如下:
我不清楚第三点。在本地执行时,更新处理程序将运行得更快,延迟更小。但是在竞争激烈的情况下,这并不能保证更新成功。还是更新处理程序保证更新成功?
发布于 2010-06-06 07:53:38
当使用更新处理程序时,更新冲突仍然是可能的。
由于缩短了“往返时间”,更新冲突的几率较低,但不是零。冲突将感觉正常:使用此JSON的409响应代码:
{"error":"conflict","reason":"Document update conflict."}我成功地使用文档更新处理程序示例触发了一个冲突,并在shell中连续运行了两次。
curl -v -X PUT \
http://localhost:5984/db/_design/app/_update/accumulate/my_doc?amount=10 \
& curl -X PUT \
http://localhost:5984/db/_design/app/_update/accumulate/my_doc?amount=1其中一个卷曲反应(随机)为201,另一个为409。
文档更新处理程序不会从根本上改变CouchDB。
更新会发生冲突,以及验证失败(401 Unauthorized、403 Forbidden等)。
https://stackoverflow.com/questions/2983220
复制相似问题