前言
1: 删除文档后,版本信息默认会保留60s。
2: 关于cas重试,是需要重新get 一下version的,那肯定会成功吧?这个场景主要在,对于多用户的局部更新,文档被修改了并不要紧。例如,两个进程都要增加页面浏览量,增加的顺序我们并不关心——如果冲突发生,我们唯一要做的仅仅是重新尝试更新既可。
正文
1: ES使用乐观锁,即版本号策略来保证数据一致性
PUT /test_index/test_type/6
{
"test_field": "test test"
}
{
"_index": "test_index",
"_type": "test_type",
"_id": "6",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"created": true
}
ES内部维护了version的递增策略!!!
第一次创建一个document的时候,它的_version内部版本号就是1;以后,每次对这个document执行修改或者删除操作,