Memcache::setServerParams

(PECL memcache >= 2.1.0)

Memcache::setServerParamsИзменяет параметры сервера и статус во время выполнения

Описание

Memcache::setServerParams ( string $host , int $port = 11211 , int $timeout = ? , int $retry_interval = false , bool $status = ? , callable $failure_callback = ? ) : bool

Memcache::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'11211false11, -1false);

// Перевести сервер обратно в онлайн
$memcache->setServerParams('memcache_host'11211115true'_callback_memcache_failure');

/* процедурное API */

$memcache_obj memcache_connect('memcache_host'11211);
memcache_set_server_params($memcache_obj'memcache_host'11211115true'_callback_memcache_failure');

?>

Смотрите также