(PECL memcache >= 2.1.0)
Memcache::setServerParams -- memcache_set_server_params — Altera os parâmetros e o status do servidor em tempo de execução
$host
,$port
= 11211,$timeout
= ?,$retry_interval
= false
,$status
= ?,$failure_callback
= ?$memcache
,$host
,$port
= 11211,$timeout
= ?,$retry_interval
= false
,$status
= ?,$failure_callback
= ?Memcache::setServerParams() altera os parâmetros do servidor em tempo de execução.
Nota:
Esta função foi adicionada ao Memcache versão 2.1.0.
host
Aponta para o host onde o memcached está escutando conexões.
port
Aponta para a porta onde o memcached está escutando conexões.
timeout
Valor em segundos que será usado para conectar ao daemon. Cuidado ao alterar o valor padrão de 1 segundo - podem ser perdidas todas as vantagens do cache se a conexão for muito lenta.
retry_interval
Controla a frequência com que um servidor com falha será tentado novamente, o valor padrão
é 15 segundos. Definir este parâmetro como -1 desabilita a repetição automática.
Nem este nem o parâmetro persistent
têm qualquer
efeito quando a extensão é carregada dinamicamente via dl().
status
Controla se o servidor deve ser sinalizado como online. Definir este parâmetro
como false
e retry_interval
como -1 permite que um
servidor com falha seja mantido no pool para não afetar o algoritmo de distribuição de chaves.
As solicitações para este servidor então farão failover ou falharão imediatamente
dependendo da configuração memcache.allow_failover
.
Padrão é true
, que significa servidor online.
failure_callback
Permite que o usuário especifique uma função de retorno para ser executada ao encontrar um erro. A função de retorno é executada antes da tentativa de failover. A função leva dois parâmetros, o nome do host e a porta do servidor com falha.
Exemplo #1 Exemplo de Memcache::setServerParams()
<?php
function _callback_memcache_failure($host, $port) {
print "memcache '$host:$port' falhou";
}
/* API orientada a objeto */
$memcache = new Memcache;
// Adiciona o servidor no modo offline
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);
// Traz o servidor de volta online
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');
/* API procedural */
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');
?>