ZooKeeper 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
- 0이 아니면 노드가 변경되면 클라이언트에 알리기 위해 서버에서 감시가 설정됩니다.
stat
- NULL이 아니면 리턴 시 경로에 대한 stat 값을 보유합니다.
max_size
- 데이터의 최대 크기입니다. 0을 사용하면 이 메서드는 전체 데이터를 반환합니다.
반환 값
성공하면 데이터를 반환하고 실패하면 false를 반환합니다.
오류/예외
이 메소드는 매개변수 개수 또는 유형이 잘못되었거나 노드에서 값을 가져오지 못할 때 PHP 오류/경고를 표시합니다.
주의 버전 0.3.0부터 이 메소드는 ZookeeperException과 파생 상품을 내보냅니다.
Examples
예제 #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() 통계 예제
노드 통계 정보를 가져옵니다.
<?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) }
기타
- Zookeeper::set() - 노드와 관련된 데이터를 설정합니다.
- ZookeeperException