Memcached
PHP Manual

Memcached::getServerByKey

(PECL memcached >= 0.1.0)

Memcached::getServerByKeyMap a key to a server

Descrierea

public array Memcached::getServerByKey ( string $server_key )

Memcached::getServerByKey() returns the server that would be selected by a particular server_key in all the Memcached::*ByKey() operations.

Parametri

server_key

Cheia ce identifică serverul pe care se înscrie, sau de pe care se citește valoarea. În loc de a efectua hash asupra cheii nemijlocite a elementului, se efectuaează hash asupra cheii serverului, atunci când se decide cu care server memcached să se comunice. Aceasta permite ca elementele asociate să fie grupate împreună pe un singur server pentru a mări eficiența operațiilor multiple.

Valorile întoarse

Returns an array containing three keys of host, port, and weight on success or FALSE on failure. Utilizați Memcached::getResultCode() dacă e necesar.

Exemple

Example #1 Memcached::getServerByKey() example

<?php
$m 
= new Memcached();
$m->addServers(array(
    array(
'mem1.domain.com'1121140),
    array(
'mem2.domain.com'1121140),
    array(
'mem3.domain.com'1121120),
));

$m->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLEtrue);

var_dump($m->getServerByKey('user'));
var_dump($m->getServerByKey('log'));
var_dump($m->getServerByKey('ip'));
?>

Exemplul de mai sus va afișa ceva similar cu:

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


Memcached
PHP Manual