ELK学习总结(2-5)elk的版本控制
-----------------------------------------------------------------
1、悲觀鎖和樂觀鎖
悲觀鎖:假定會發(fā)生并發(fā)沖突,屏蔽一切可能違反數(shù)據(jù)完整性操作。
樂觀鎖:假定不會發(fā)生并發(fā)沖突,提交操作時檢查是否違反數(shù)據(jù)完整性。
-----------------------------------------------------------------
2、elk的版本控制
內(nèi)部版本控制:_version自增長,修改數(shù)據(jù)后,_version自動加1
外部版本控制:為了保持_version與外部控制數(shù)值保持一致,
使用version_type=external,
檢查數(shù)據(jù)與當前的version值是否小于請求中的version值。
-----------------------------------------------------------------
3、新建數(shù)據(jù)版本是_version=1,隨著對文檔操作,版本號自增長。
-----------------------------------------------------------------
4、內(nèi)部版本控制
請求命令:
PUT /library/books/1
{
“title”:“Black Horse”,
“name”:{
“first”:“shengqi”,
“l(fā)ast”:“l(fā)iang”
},
"publish_date","1900/01/01",
"price":"35.99"
}
響應(yīng)結(jié)果:
請求命令:
GET /library/books/1
響應(yīng)結(jié)果:
{
"_index":"library",
"_type":"books",
"_id":"1",
"_version":"1",
"_found":"true",
"_source":{
"title":"black fly",
"name":{
"first":,"xxx",
"last":,"yyy"
}
"publish_date":"2015-12-06",
"price":"100"
}
}
#不帶版本號的更新
POST /library/books/1/_update
{
"doc":{
"price":10
}
}
#帶版本號的更新(要求一致才能更新)
POST /library/books/1/_update?version=2
{
"doc":{
"price":10
}
}
-----------------------------------------------------------------
5、外部版本控制
POST /library/books/1/_update?version=20&version_type=external
{
"doc":{
"price":10
}
}
總結(jié)
以上是生活随笔為你收集整理的ELK学习总结(2-5)elk的版本控制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 山东二建证换了电子证后纸质证还能用吗
- 下一篇: 我喝酒不多,为什么酒量不行啊?