(PECL memcache >= 2.1.0)
Memcache::setServerParams — Cambia parámetros del servidor y estado en tiempo de ejecucción
$host
[, int $port
= 11211
[, int $timeout
[, int $retry_interval
= false
[, bool $status
[, callable $failure_callback
]]]]] ) : boolMemcache::setServerParams() cambia parámetros del servidor en tiempo de ejecucción. También se puede usar la función memcache_set_server_params().
Nota:
Esta función fue añadida en la versión 2.1.0. de Memcache.
host
Apunta al host donde memcached está esperando conexiones.
port
Apunta al puerto donde memcached está esperando conexiones.
timeout
Valor en segundos que se utilizarán para conectarse al demonio. Piensa dos veces antes de cambiar el valor por defecto de 1 segundo, puedes perder todas la ventajas del caché si tus conexiones son muy lentas.
retry_interval
Controla la frecuencia de reintentos cuando falla la conexión, el valor por defecto es
15 segundos. Si establece este parámetro a -1 desactivará el reintento automático.
Ni esta opción ni el parámetro persistent
tienen ningún efecto
cuando la extensión se carga dinámicamente a través de dl().
status
Controla si el servidor debe ser marcado como online. Estableciendo este parámetro
a FALSE
y retry_interval
a -1 permite a un servidor que falle
a ser mantenido en el grupo para no afectar el algoritmo de distribución de llaves.
Las peticiones a este servidor fallarán inmediatamente dependiendo en la opción
memcache.allow_failover
. Por defecto to TRUE
, que significa
que el servidor se considera online.
failure_callback
Permite al usuario a especificar la llamada a una función de retorno a ejectuar cuando se encuentre un error. La llamada de retorno se ejecuta antes de que se produzca la caída en la conexión. La función toma dos parámetros, el hostname y el puerto del puerto que ha fallado.
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
Ejemplo #1 Ejemplo de Memcache::setServerParams()
<?php
function _callback_memcache_failure($host, $port) {
print "memcache '$host:$port' failed";
}
/* API OO */
$memcache = new Memcache;
// Añadir servidor en modo offline.
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);
// Establecer el servidor de offline a online.
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');
/* API por procedimientos */
$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');
?>