Memcached::getServerByKey
(PECL memcached >= 0.1.0)
Memcached::getServerByKey — Получает информацию о сервере по ключу
Описание
$server_key
) : array
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) }