ELK学习总结(2-5)elk的版本控制
-----------------------------------------------------------------
1、悲觀鎖和樂觀鎖
悲觀鎖:假定會發生并發沖突,屏蔽一切可能違反數據完整性操作。
樂觀鎖:假定不會發生并發沖突,提交操作時檢查是否違反數據完整性。
-----------------------------------------------------------------
2、elk的版本控制
內部版本控制:_version自增長,修改數據后,_version自動加1
外部版本控制:為了保持_version與外部控制數值保持一致,
使用version_type=external,
檢查數據與當前的version值是否小于請求中的version值。
-----------------------------------------------------------------
3、新建數據版本是_version=1,隨著對文檔操作,版本號自增長。
-----------------------------------------------------------------
4、內部版本控制
請求命令:
PUT /library/books/1
{
“title”:“Black Horse”,
“name”:{
“first”:“shengqi”,
“last”:“liang”
},
"publish_date","1900/01/01",
"price":"35.99"
}
響應結果:
請求命令:
GET /library/books/1
響應結果:
{
"_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
}
}
總結
以上是生活随笔為你收集整理的ELK学习总结(2-5)elk的版本控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 山东二建证换了电子证后纸质证还能用吗
- 下一篇: $\rm{NOIP}$前的模拟题整理&#