❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️
文章目录
- 1、前置准备
- Ⅰ、启动zookeeper服务
- Ⅱ、启动zookeeper客户端
- 2、新增节点
- Ⅰ、持久化节点
- Ⅰ.Ⅰ、创建
- Ⅰ.Ⅱ、读取
- Ⅰ.Ⅲ、结束会话重连接再次查询
- Ⅱ、持久化有序节点
- Ⅱ.Ⅰ、创建
- Ⅱ.Ⅱ、读取
- Ⅱ.Ⅲ、再创建
- Ⅱ.Ⅳ、再读取
- Ⅲ、临时节点
- Ⅲ.Ⅰ、创建临时节点
- Ⅲ.Ⅱ、读取临时节点
- Ⅲ.Ⅲ、结束会话重连接查询
- Ⅳ、临时有序节点
- Ⅳ.Ⅰ、创建临时有序节点
- Ⅳ.Ⅱ、读取临时有序节点
- Ⅳ.Ⅲ、再创建临时有序节点
- Ⅳ.Ⅳ、再读取临时有序节点
- 3、更新节点
- Ⅰ、set更新(path匹配)
- Ⅱ、set更新(path+version匹配)
- Ⅱ.Ⅰ、错误演示
- 4、删除节点
- Ⅰ、删除(path匹配)
- Ⅱ、删除(path+version匹配)
1、前置准备
Ⅰ、启动zookeeper服务
Ⅱ、启动zookeeper客户端
2、新增节点
create [-s] [-e] path data #其中的-s为有序节点, -e为临时节点
Ⅰ、持久化节点
Ⅰ.Ⅰ、创建
create 路径 “hao”
Ⅰ.Ⅱ、读取
查看数据
get 路径
创建该持久化节点意味着当我们退出本次会话之后,数据不会消失,当我们再次会话,数据依然能够查询到。
Ⅰ.Ⅲ、结束会话重连接再次查询
再次查询数据,发现数据依然存在,这就是创建的持久化节点
Ⅱ、持久化有序节点
Ⅱ.Ⅰ、创建
create -s /路径 数据
创建的有序节点路径为/unity2;但由于是有序节点,所以zookeeper会为路径后加入一个序号
Ⅱ.Ⅱ、读取
获取有序节点的数据
Ⅱ.Ⅲ、再创建
再次创建一个持久化有序节点
Ⅱ.Ⅳ、再读取
该持久化有序节点主要用在为分布式环境创建唯一ID
Ⅲ、临时节点
Ⅲ.Ⅰ、创建临时节点
create -e /path 数据
Ⅲ.Ⅱ、读取临时节点
get /temp
因为创建的是临时节点,所以当会话结束后,数据就会消息
Ⅲ.Ⅲ、结束会话重连接查询
可以看出数据已经不存在了。
Ⅳ、临时有序节点
Ⅳ.Ⅰ、创建临时有序节点
create -s -e /path 数据 =========》-s代表有序,-e代码临时
Ⅳ.Ⅱ、读取临时有序节点
Ⅳ.Ⅲ、再创建临时有序节点
Ⅳ.Ⅳ、再读取临时有序节点
当然由于是临时节点,会话结束,数据就会消失。
临时有序节点主要生成分布式锁
3、更新节点
使用上面新增节点创建的数据,进行更改操作
Ⅰ、set更新(path匹配)
set /path 更新的数据
Ⅱ、set更新(path+version匹配)
set /path 更新的数据 -v 1
注意3.6.2以上版本要加上-v,我使用的是3.7.2版本的
怎么理解这个更新操作呢?我们可以发现比第一种set更新多了一个-v 1,这个-v其实是版本号,意思是不仅路径path要匹配,版本号也要匹配;看下面的图
dataVersion初始为0,每当对该节点数据修改一次,dataVersion就会加1;上面的版本为1是因为我已经修改过一次该节点数据了。
Ⅱ.Ⅰ、错误演示
set set /unity “sss” -v 2
因为该版本是1,所有定义的2是无法匹配成功的。
正确的就不再演示,需要版本对应。
4、删除节点
Ⅰ、删除(path匹配)
delete /path
Ⅱ、删除(path+version匹配)
delete /path -v 1
版本不匹配,删除失败!