(PECL memcache >= 2.1.0)
Memcache::setServerParams — Изменяет параметры сервера и статус во время выполнения
$host
[, int $port
= 11211
[, int $timeout
[, int $retry_interval
= FALSE
[, bool $status
[, callable $failure_callback
]]]]] ) : boolMemcache::setServerParams() изменяет параметры сервера во время выполнения. Вы также можете использовать функцию memcache_set_server_params().
Замечание:
Эта функцию была добавлена в Memcache версии 2.1.0.
host
Указывает на хост, на котором memcached прослушивает соединения.
port
Указывает на порт, на котором memcached прослушивает соединения.
timeout
Значение в секундах, которое будет использоваться для подключения к домену. Подумайте дважды, прежде чем менять значение по умолчанию в 1 секунду - вы можете потерять все преимущества кеширования, если ваше соединение слишком медленное.
retry_interval
Управляет частотой проверки доступности отказавшего сервера, по умолчанию
15 секунд.
Если задать значение "-1", то попыток проверить джоступность сервера
предприниматься не будет.
Ни этот параметр, ни параметр persistent
не
оказывают никакого влияния,
если расширение загружено динамически через функцию
dl().
status
Определяет, должен ли сервер помечен флагом как "онлайн". Установка этого
параметра в FALSE
и retry_interval
в -1 позволит
сохранить сервер в пуле, но не использовать его в алгоритме распределения
ключей.
Запрос к этому серверу либо запустит механизм обеспечения
отказоустойчивости, либо
сразу же прервется с ошибкой, в зависимости от настройки
memcache.allow_failover
. По умолчанию равно TRUE
,
что означает, что сервер активен и готов принимать запросы.
failure_callback
Позволяет пользователю задать функцию обратного вызова, которая запустится в случае какой-либо ошибки. Эта функция будет вызвана раньше, чем будет запущен механизм обеспечения отказоустойчивости. Функция принимает два параметра - имя хоста и порт отказавшего сервера.
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Пример #1 Пример использования Memcache::setServerParams()
<?php
function _callback_memcache_failure($host, $port) {
print "неудачное подключение memcache - '$host:$port'";
}
/* объектно-ориентированное API */
$memcache = new Memcache;
// Добавить сервер в офлайн-режим
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);
// Перевести сервер обратно в онлайн
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');
/* процедурное API */
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');
?>