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
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
/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大的时候,才能完成修
_version,只有当你提供的version与es中的_version一模一样的时候,才可以进行修改,只要不一样,就报错;
version_type=external的时候,只有当你提供的version比es中的_version大的时候,才能完成修
相关文章推荐
- elasticsearch核心知识--17.剖析Elasticsearch并发冲突问题和深度图解剖析悲观锁与乐观锁两种并发控制方案
- ElasticSearch13:partial update原理以及乐观锁并发控制
- MySQL 的乐观并发控制Optimistic concurrency control
- 并发控制乐观锁Version
- Elasticsearch 并发修改乐观锁
- hibernate之控制并发访问(乐观并发控制之外获得额外的隔离性保证)
- 并发控制中的乐观锁与悲观锁
- 并发控制中的乐观锁与悲观锁
- 数据库并发控制 你选乐观锁还是悲观锁?
- 并发控制:(二)乐观锁 悲观锁
- ElasticSearch10:基于_version进行乐观锁并发控制
- ElasticSearch并发操作之乐观锁的使用
- 大白话讲解并发控制的悲观锁与乐观锁 / 高性能 MySQL 笔记
- hibernate之控制并发访问(乐观并发控制之外获得额外的隔离性保证--使用LockMode.UPGRADE的实例)
- Elasticsearch 基于乐观锁的版本控制
- MySQL数据库优化(三)——MySQL悲观锁&&乐观锁(并发控制)
- 第18/24周 乐观并发控制(Optimistic Concurrency)
- elasticsearch6 学习之并发控制
- 乐观的并发控制(optimistic concurrency control)
- 乐观并发控制