Получает информацию о сервере по ключу

# Memcached::getServerByKey

(PECL memcached >= 0.1.0)

Memcached::getServerByKey — Получает информацию о сервере по ключу

### Описание

public function Memcached::getServerByKey(string `$server_key`): array|false

Memcached::getServerByKey() возвращает информацию о сервере, который может быть выбран с помощью специального параметра `server_key`, который используется в Memcached::*ByKey() функциях.

### Список параметров

`server_key`

  Ключ, который идентифицирует сервер, на котором хранится значение. Вместо хеширования фактического ключа элемента хешируется ключ сервера, когда решается, с каким сервером memcached взаимодействовать. Это разрешает группировать связанные элементы вместе на одном сервере, что повышает эффективность групповых операций.

### Возвращаемые значения

Возвращает массив, содержащий следующие ключи: `host`, `port`, и `weight` в случае успешного выполнения или `false`, если возникла ошибка. Вызывайте метод Memcached::getResultCode(), если требуется.

### Примеры

Пример #1 Пример использования 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'));
    ?>

Вывод приведённого примера будет похож на:

    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)
    }

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open