(PECL memcached >= 0.1.0)
Memcached::getServerByKey — Map a key to a server
$server_key
)
Memcached::getServerByKey() returns the server that
would be selected by a particular server_key
in all
the Memcached::*ByKey() operations.
server_key
값을 저장하거나 가져올 서버를 인식하는 키. 아이템에 대한 실제 키를 해싱하는 대신에, 대화할 memcached 서버가 정해질 때 서버 키를 해시합니다. 이로써 하나의 서버에 대한 관련된 아이템들을 묶을 수 있게 되고, 여러 명령을 효율적으로 처리하게 됩니다.
Returns an array containing three keys of host,
port, and weight on success or FALSE
on failure.
필요할 경우
Memcached::getResultCode() 사용.
Example #1 Memcached::getServerByKey() example
<?php
$m = new Memcached();
$m->addServers(array(
array('mem1.domain.com', 11211, 40),
array('mem2.domain.com', 11211, 40),
array('mem3.domain.com', 11211, 20),
));
$m->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);
var_dump($m->getServerByKey('user'));
var_dump($m->getServerByKey('log'));
var_dump($m->getServerByKey('ip'));
?>
위 예제의 출력 예시:
array(3) { ["host"]=> string(15) "mem3.domain.com" ["port"]=> int(11211) ["weight"]=> int(20) } array(3) { ["host"]=> string(15) "mem2.domain.com" ["port"]=> int(11211) ["weight"]=> int(40) } array(3) { ["host"]=> string(15) "mem2.domain.com" ["port"]=> int(11211) ["weight"]=> int(40) }