(PECL memcache >= 2.0.0)
Memcache::addServer -- memcache_add_server — Adiciona um servidor memcached ao pool de conexão
$host,$port = 11211,$persistent = ?,$weight = ?,$timeout = ?,$retry_interval = ?,$status = ?,$failure_callback = ?,$timeoutms = ?$memcache,$host,$port = 11211,$persistent = ?,$weight = ?,$timeout = ?,$retry_interval = ?,$status = ?,$failure_callback = ?,$timeoutms = ?Memcache::addServer() adiciona um servidor ao pool de conexão.
Ao usar este método (ao contrário de Memcache::connect() e Memcache::pconnect()) a conexão de rede não é estabelecida até que seja realmente necessária. Portanto, não há sobrecarga na adição de um grande número de servidores ao pool, mesmo que eles não sejam todos usados.
O failover pode ocorrer em qualquer estágio em qualquer um dos métodos, desde que outros servidores estejam disponíveis, a solicitação não será notada pelo usuário. Qualquer tipo de erro de nível de soquete ou servidor Memcached (exceto falta de memória) pode disparar o failover. Erros normais do cliente, como adicionar uma chave existente, não dispararão um failover.
Nota: Esta função foi adicionada ao Memcache versão 2.0.0.
hostunix:///path/to/memcached.sock
para usar soquetes de domínio UNIX, neste caso port também deve
ser definido como 0.
port0 ao usar soquetes de domínio UNIX.
Observe: port assume como padrão
memcache.default_port
se não for especificado. Por esse motivo, é sensato especificar a porta
explicitamente nessa chamada de método.
persistenttrue.
weighttimeoutretry_intervalpersistent têm qualquer
efeito quando a extensão é carregada dinamicamente via dl().
Cada estrutura de conexão com falha tem seu próprio tempo limite e antes que ela expire
a estrutura será ignorada ao selecionar backends para atender a uma solicitação. Uma vez
expirada, a conexão será reconectada com sucesso ou marcada como falhada
por mais retry_interval segundos. O efeito
típico é que cada filho do servidor web tentará novamente a conexão a cada
retry_interval segundos ao atender uma página.
statusfalse 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, significando que o servidor deve ser considerado online.
failure_callbacktimeoutmsExemplo #1 Exemplo de Memcache::addServer()
<?php
/* API orientada a objeto */
$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
$memcache->addServer('memcache_host2', 11211);
/* API procedural */
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_add_server($memcache_obj, 'memcache_host2', 11211);
?>
Quando o port não é especificado, este método assume como padrão o
conjunto de valores da diretiva INI
memcache.default_port do PHP.
Se este valor foi alterado em outro lugar na aplicação, isso pode levar a
resultados inesperados: por este motivo, é sensato sempre especificar a porta
explicitamente nesta chamada de método.