Zookeeper的数据处理方法
1.create方法
public String create(final String path, byte data[], List acl,
CreateMode createMode)
throws KeeperException, InterruptedException
参数解释:
参数 | 解释 |
---|---|
String path | 进行创建的节点名称(zookeeper不允许多级创建) |
byte[]data | 字节数组类型(不要添加中文) |
acl | 安全认证,所有认证类型都被包含在ZooDefs.Ids中 |
CreateMode createMode | 节点模式的创建 |
节点模式:
方法 | 解释 |
---|---|
public static final CreateMode EPHEMERAL | 创建一个瞬时节点 |
public static final CreateMode EPHEMERAL_SEQUENTIAL | 创建一个瞬时有序节点 |
public static final CreateMode PERSISTENT | 创建一个持久节点 |
public static final CreateMode PERSISTENT_SEQUENTIAL | 创建一个持久有序节点 |
节点模式的分类主要看两点:
1)是否持久
persistent :持久节点。需要主动删除
ephemeral : 瞬时节点。与客户端session结束,自动删除; 不能有子节点
2)是否有序
persistent_sequential : 持久有序节点。
ephemeral_sequential : 瞬时有序节点
参考代码:
1.getData方法
public byte[] getData(String path,boolean watch,Stat stat);
参数解释:
参数 | 解释 |
---|---|
“String path” | 要读取路径 |
“boolean watch” | 是否需要进行监听 |
“Stat stat” | 取得相关的统计信息 |
参考代码:
3.setData方法
public stat setData(String path,bety[]data,int version);
参数解释:
参数 | 解释 |
---|---|
version | 当version为-1时表示忽略版本限制 |
参考代码:
4.delete方法
public void delete(String path,int version);
参数解释:
参数 | 解释 |
---|---|
path | 想要删除节点的路径 |
在zookeeper删除是删除路径,而不是简单的删除数据
参考代码: