您的位置:首页 > 其它

Elasticsearch学习笔记(八)Elasticsearch的乐观锁并发控制

2017-12-30 17:25 232 查看

一、基于_version的乐观锁并发控制

语法:PUT /test_index/test_type/id?version=xxx 更新时带上数据的版本号,只有版本号一致的情况下才可以修改,如果出现版本号不一致的情况或者丢弃该数据或者获取最新的版本号然后在进行更新
PUT /test_index/test_type/7?version=1
{
"test_field": "test client 1"
}

{
"_index": "test_index",
"_type": "test_type",
"_id": "7",
"_version": 2,
"result": "updated",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"created": false
}


二、基于external
version进行乐观锁并发控制

语法: PUT
/test_index/test_type/id?version=xxxxx&version_type=external


三、_version和external version的区别

version_type=external与_version的区别在于,
_version,只有当你提供的version与es中的_version一模一样的时候,才可以进行修改,只要不一样,就报错;
version_type=external的时候,只有当你提供的version比es中的_version大的时候,才能完成修
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: