创建节点
create [-s] [-e] path data
- -s:是否有序,创建之后,后面自动加上10为数字,并自动递增
- -e:是否是临时节点,如果创建节点时指定-e参数,在客户端断开连接时节点自动销毁
- path:key
- data:值
查看节点
ls [-s] [-w] [-R] path
- -s:查看节点所有子节点并输出节点的元数据
- -w:给注册监听器,监听子节点的新增和删除,只能监听第一层子节点
- -R:递归查看所有子
get [-w] [-s] path
-
-w:监听节点的修改和删除
-
-s:查看节点的元数据
只查看节点的元数据,不查看数据
stat [-w] path
- -w:和get命令的监听器用法一样
所有的监听器是一次性的,用完之后得再注册一遍
修改节点
set [-v dataVersion] path data
- -v:数据版本号,每修改一次节点元素据dataVersion
+1
。如果修改时加上-v
,那么它指定的dataVersion必须要等于现在节点的dataVersion,否则修改失败,小于或大于都不行。
删除节点
delete [-v dataVersion] path
删除操作-v
的作用和修改操作一样
如果删除的节点下还有子节点,需要用deleteall
命令删除
deleteall path
节点元素据
- cZxid:节点创建时的事务ID
- ctime:节点创建时间
- mZxid:节点最后一次修改事务ID
- mtime:节点最后一次修改时间
- pZxid:节点的子节点最后一次被修改的事务ID,比如
/aa/bb
被修改了,/aa
的pZxid
就是/aa/bb
的mZxid
- cversion:子节点被修改的次数,没修改一次
/aa/bb
,/aa
的cversion就+1
- dataVersion:节点版本号,没修改一次当前节点就
+1
,创建节点是初始化为0
- aclVersion:节点ACL的更改次数,和权限有关
- ephemeralOwner:如果时临时节点,ephemeralOwner时SessionID。如果是持久节点,值为
0
- dataLength:数据内容长度,单位是字节。用的是UTF-8编码,一个汉字占三个字节,一个字母只占一个字节
- numChildren:子节点的个数,只会统计第一层子节点,不会统计子节点的子节点
持久化节点:
临时节点: