(PECL memcached >= 0.1.0)
Memcached::getServerByKey — Hacer corresponder una clave con un servidor
$server_key
)
Memcached::getServerByKey() devuelve el servidor que
será seleccionado por una server_key
en particular para todas
las operaciones Memcached::*ByKey().
server_key
La clave que identifica el servidor en donde guardar el valor o desde el que recuperarlo. En lugar de realizar un hash en la clave real para el elemento, se realiza el hash en la clave del servidor al decidir con cual servidor almacenado en memoria caché conversar. Esto permite a los elementos relacionados que sean agrupados en un único servidor para más eficacia con multioperaciones.
Devuelve un array que contiene tres claves: host,
port, y weight en caso de éxito,
o FALSE
en case de error.
Use Memcached::getResultCode() si es necesario.
Ejemplo #1 Ejemplo de Memcached::getServerByKey()
<?php
$m = new Memcached();
$m->addServers(array(
array('mem1.domain.com', 11211, 40),
array('mem2.domain.com', 11211, 40),
array('mem3.domain.com', 11211, 20),
));
$m->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);
var_dump($m->getServerByKey('user'));
var_dump($m->getServerByKey('log'));
var_dump($m->getServerByKey('ip'));
?>
El resultado del ejemplo sería algo similar a:
array(3) { ["host"]=> string(15) "mem3.domain.com" ["port"]=> int(11211) ["weight"]=> int(20) } array(3) { ["host"]=> string(15) "mem2.domain.com" ["port"]=> int(11211) ["weight"]=> int(40) } array(3) { ["host"]=> string(15) "mem2.domain.com" ["port"]=> int(11211) ["weight"]=> int(40) }