(PECL memcached >= 0.1.0)
Memcached::getServerByKey — Получает информацию о сервере по ключу
Memcached::getServerByKey() возвращает информацию о сервере, который
может быть выбран с помощью специального параметра server_key
, который используется
в Memcached::*ByKey() функциях.
server_key
Ключ, идентифицирующий сервер, на котором хранится значение. Вместо хеширования по ключу самого элемента, при выборе подключаемого сервера memcached хешируют по ключу сервера. Такой метод разрешает группировать связанные элементы вместе на одном сервере, что повышает эффективность групповых операций.
Возвращает массив, содержащий следующие ключи: host
,
port
, и weight
в случае успешного выполнения или false
, если возникла ошибка.
Используйте при необходимости Memcached::getResultCode().
Пример #1 Пример использования Memcached::getServerByKey()
<?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) }