Memcached::getServerByKey

(PECL memcached >= 0.1.0)

Memcached::getServerByKeyMapear uma key para um servidor

Descrição

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

Memcached::getServerByKey() retorna o servidor que seria selecionado por uma server_key particular em todas as operações Memcached::*ByKey().

Parâmetros

server_key

A chave que identifica o servidor no qual armazenar o valor ou de onde recuperá-lo. Em vez de fazer o hash na chave real do item, o hash é feito na chave do servidor ao decidir com qual servidor memcached se comunicar. Isso permite que itens relacionados sejam agrupados em um único servidor para eficiência com múltiplas operações.

Valor Retornado

Retorna um array contendo três keys de host, port e weight em caso de sucesso ou false em caso de falha. Use Memcached::getResultCode() se necessário.

Exemplos

Example #1 Memcached::getServerByKey() exemplo

<?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'));
?>

O exemplo acima produzirá algo semelhante 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)
}