# Memcached::getServerByKey

(PECL memcached >= 0.1.0)

Memcached::getServerByKey — Hacer corresponder una clave con un servidor

### Descripción

public Memcached::getServerByKey(string `$server_key`): array

Memcached::getServerByKey() devuelve el servidor que será seleccionado por una clave dada por `server_key` en particular para todas las operaciones Memcached::*ByKey().

### Parámetros

`server_key`

  La clave que identifica al servidor donde guardar o recuperar el valor. En lugar de realizar un hash en la clave real para el ítem, se realiza en la clave del servidor cuando se decide con qué servidor de memcached conversar. Esto permite que los ítems relacionados sean agrupados en un único servidor para una mayor eficacia con operaciones múltiples.

### Valores devueltos

Devuelve un array que contiene tres claves: `host`, `port`, y `weight` en caso de éxito, o `false` en case de error. Emplee Memcached::getResultCode() si fuera necesario.

### Ejemplos

Ejemplo #1 Ejemplo de Memcached::getServerByKey()

`<?php
$m = new Memcached();
$m->addServers(array(
array('mem1.dominio.com', 11211, 40),
array('mem2.dominio.com', 11211, 40),
array('mem3.dominio.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(16) "mem3.dominio.com"
      ["port"]=>
      int(11211)
      ["weight"]=>
      int(20)
    }
    array(3) {
      ["host"]=>
      string(16) "mem2.dominio.com"
      ["port"]=>
      int(11211)
      ["weight"]=>
      int(40)
    }
    array(3) {
      ["host"]=>
      string(16) "mem2.dominio.com"
      ["port"]=>
      int(11211)
      ["weight"]=>
      int(40)
    }