使用更新处理程序时修订版本的可能性有多大?在编写强大的更新函数时,我是否应该关注冲突处理代码?
如文档更新处理程序中所述,CouchDB 0.10及更高版本允许按需服务器端文档修改.
更新处理程序可以处理非JSON格式; 但其他主要特征是:
我不清楚第三点.在本地执行,更新处理程序运行速度更快,延迟更低.但在争用率较高的情况下,这并不能保证成功更新.或者更新处理程序是否保证成功更新?
Jas*_*ith 11
使用更新处理程序时仍可能发生更新冲突.
由于"往返时间"减少,更新冲突的可能性较低,但不是零.冲突会感觉正常:使用此JSON的409响应代码:
{"error":"conflict","reason":"Document update conflict."}
Run Code Online (Sandbox Code Playgroud)
我使用文档更新处理程序示例成功触发了冲突,并在shell中连续两次运行curl.
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
Run Code Online (Sandbox Code Playgroud)
其中一个卷曲响应(随机)是201,另一个是409.
更新是受冲突,以及验证失败(401 Unauthorized,
403 Forbidden,等)
| 归档时间: |
|
| 查看次数: |
3174 次 |
| 最近记录: |