0 課程地址
https://coding.imooc.com/lesson/201.html#mid=12699
1 重點關注
1.1 zk常用命令行 修改 不帶版本號
- 啓動zk服務端和客戶端(必須啓動客戶端,不然set和get命令沒有)
./zkServer.sh start
./zkCli.sh
- 查看imooc節點,修改後再查看,發現已更改成功
get /imooc set /imooc new-data get /imooc dataVersion +1
1.2 zk常用命令行 修改 帶版本號
樂觀鎖機制,防止多處同時修改一個節點
set /imooc 123 1 當前版本號爲1 成功 get /imooc 發現是123 set /imooc aaa 1 當前版本號爲1 version no is not valid: /imooc
1.3 zk常用命令行 刪除 不帶版本號
get /imooc/sec0000000001 刪除之前查看節點 delete /imooc/sec0000000001 刪除 get /imooc/sec0000000001 刪除之後查看節點,發現已刪除
1.4 help命令
查看 zk的命令可以用help查看 ,[]是可帶可不帶
1.5 如何查看子節點
ls /
2 課程內容
2.1 zk常用命令行 刪除 帶版本號
使用方式和1.2類似
2.2 悲觀鎖和樂觀鎖
悲觀所: 顧名思義,所謂的悲觀鎖就是很悲觀的意思。他對世界很悲觀,每次去拿數據或者訪問的時候都認爲別人會改變這數據,於是它就給他鎖住,這樣別人想拿這個數據就會block直到釋放鎖。防止正在數據讀取的時候數據被修改
樂觀鎖: 樂觀鎖對世界很樂觀,他認爲訪問概率很低,也就是說他會把所以的準備工作都做好後直到修改數據庫時纔會將數據鎖住。完成更新後怪放鎖
參考:
https://blog.csdn.net/u012325073/article/details/53392579
3 Coding