Memcache::setServerParams
(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
-
Позволяет пользователю задать 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');
?>
Смотрите также
- Memcache::addServer() - Добавляет сервер memcached в пул соединений
- Memcache::getServerStatus() - Возвращает статус сервера