(PECL memcached >= 0.1.0)
Memcached::addServer — Добавляет сервер в пул
$host
, int $port
[, int $weight
= 0
] ) : bool
Memcached::addServer() добавляет указанный сервер в пул.
При этом соединение установлено не будет, но если вы используете настройку
консистентного распределения ключей (с помощью
Memcached::DISTRIBUTION_CONSISTENT
или
Memcached::OPT_LIBKETAMA_COMPATIBLE
), некоторые
внутренние структуры данных будут обновлены. Таким образом, если вам необходимо добавить
несколько серверов, предпочтительнее использовать
Memcached::addServers() т.к. обновление данных происходит однократно.
Один и тот же сервер может встречаться в пуле несколько раз, потому что никаких
проверок на дублирование вхождений нет. Но это не целесообразно; вместо этого
нужно использовать параметр weight
для повышения
приоритета данного сервера.
host
Имя хоста memcache сервера. Если имя хоста будет недействительным,
функции, работающие с данными установят результирующий код
Memcached::RES_HOST_LOOKUP_FAILURE
. В
версии 2.0.0b1, данный параметр может также определять путь до unix
сокет файла, например /path/to/memcached.sock
для использования сокета домена UNIX (UDS), в данном случае port
должен быть установлен в 0.
port
Порт на котором работает сервер memcache. Обычно это 11211 порт. В версии 2.0.0b1, установите этот параметр в 0, при использовании сокета домена UNIX (UDS).
weight
Весовой коэффициент для заданного сервера по отношению к общему весу всех серверов в пуле. Данная настройка управляет вероятностью сервера быть выбранным для использования. Она используется только в случае консистентного распределения и обычно соответствует количеству памяти, доступному для memcache на сервере.
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Пример #1 Пример использования Memcached::addServer()
<?php
$m = new Memcached();
/* Добавляет 2 сервера в пул, вероятность быть выбранным
у второго сервера в 2 раза выше. */
$m->addServer('mem1.domain.com', 11211, 33);
$m->addServer('mem2.domain.com', 11211, 67);
?>