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
诸葛