Zookeeper::get

(PECL zookeeper >= 0.1.0)

Zookeeper::get同步获取与节点关联的数据

描述

public Zookeeper::get(
    string $path,
    callable $watcher_cb = null,
    array &$stat = null,
    int $max_size = 0
): string

参数

path

节点的名称。表示为文件名,用斜杠分隔节点的祖先。

watcher_cb

如果非零,将在服务器上设置一个监视器,以在节点发生更改时通知客户端。

stat

如果非 NULL,将在返回时保存路径的 stat 值。

max_size

数据的最大大小。如果使用 0,此方法将返回整个数据。

返回值

成功时返回数据,失败时返回 false。

错误/异常

当参数数量或类型错误或无法从节点获取值时,此方法会发出 PHP 错误/警告。

注意

从 0.3.0 版本开始,此方法会发出 ZookeeperException 及其派生类。

示例

示例 #1 Zookeeper::get() 示例

从节点获取值。

<?php
$zookeeper
= new Zookeeper('locahost:2181');
$path = '/path/to/node';
$value = 'nodevalue';
$zookeeper->set($path, $value);

$r = $zookeeper->get($path);
if (
$r)
echo
$r;
else
echo
'ERR';
?>

上面的示例将输出

nodevalue

示例 #2 Zookeeper::get() stat 示例

获取节点 stat 信息。

<?php
$zookeeper
= new Zookeeper('localhost:2181');
$path = '/path/to/node';
$stat = [];
$zookeeper->get($path, null, $stat);
var_dump($stat);
?>

上面的示例将输出

array(11) {
  ["czxid"]=>
  float(0)
  ["mzxid"]=>
  float(0)
  ["ctime"]=>
  float(0)
  ["mtime"]=>
  float(0)
  ["version"]=>
  int(0)
  ["cversion"]=>
  int(-2)
  ["aversion"]=>
  int(0)
  ["ephemeralOwner"]=>
  float(0)
  ["dataLength"]=>
  int(0)
  ["numChildren"]=>
  int(2)
  ["pzxid"]=>
  float(0)
}

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top