2.zookeeper数据模型

zk如何保存数据? 树结构保存,默认根节点是/
包含了四个部分

  1. data:保存数据
  2. acl:权限 定义了什么样的用户能够操作这个节点,切能够进行怎么样的操作
    c:创建 w:更新 r:读 d:删除 a:管理员
  3. stat:描述当前znode的元数据
  4. child:当前节点的子节点

举例

#创建test1节点
create /test1
#创建test1下sub1节点 赋值sub1=abc
create /test1/sub1 abc
#获取sub1节点是数据
get /test1/sub1
#sub1结果
abc

查看数据结构

#查看节点信息
get -s /test1
#节点的值
null
#创建节点的事务id
cZxid = 0x3
#节点创建时间
ctime = Sun Jan 23 03:37:42 CST 2022
#修改节点的事务id
mZxid = 0x3
#节点最近修改的时间
mtime = Sun Jan 23 03:37:42 CST 2022
#添加和删除子节点的事务id
pZxid = 0x4
#子节点的更改次数
cversion = 1
#节点内数据的版本
dataVersion = 0
#此节点的权限版本
aclVersion = 0
#如果当前节点是临时节点,该值是当前节点所有者的sessionid,如果不是临时节点该值为0
ephemeralOwner = 0x0
#节点内数据长度
dataLength = 0
#该节点的子节点个数
numChildren = 1

znode类型有哪些
create 创建持久节点
create -s 持久序号节点并发很严重的情况下,应用场景分布式锁

[zk: localhost:2181(CONNECTED) 8] create -s /test1
Created /test10000000008
[zk: localhost:2181(CONNECTED) 9] create -s /test1
Created /test10000000009
[zk: localhost:2181(CONNECTED) 10] create -s /test1
Created /test10000000010
[zk: localhost:2181(CONNECTED) 11] ls /
[test1, test10000000008, test10000000009, test10000000010, test2, test20000000002, test20000000003, test20000000004, test20000000005, test20000000006, zookeeper]
[zk: localhost:2181(CONNECTED) 12] 

create -e 临时序号节点,只保留在当前会话,会话断开会删除临时节点,应用场景服务注册与发现
create -e -s 临时序号节点,应用场景临时分布式锁
create -c container容器节点,当容器节点内没子节点时候,默认60s后删除此节点
TTL节点可以指定到期时间,到期后删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值