downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

Memcached::getServerList> <Memcached::getResultMessage
[edit] Last updated: Fri, 17 May 2013

view this page in

Memcached::getServerByKey

(PECL memcached >= 0.1.0)

Memcached::getServerByKeyMap a key to a server

Beschreibung

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.

Parameter-Liste

server_key

Ein Schlüssel, der den Server bestimmt, auf dem die Daten abgelegt werden sollen.

Rückgabewerte

Returns an array containing three keys of host, port, and weight on success or FALSE on failure. Benutzen Sie wenn nötig Memcached::getResultCode().

Beispiele

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

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

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



add a note add a note User Contributed Notes Memcached::getServerByKey - [1 notes]
up
0
zhaoyong dot lc at gmail dot com
1 month ago
The parameter server_key is very confusing, it's not a server key for MemCached Server, but it's key,in key-value pair which you stored in server.

<?php
$m
= new Memcached;
$m->addServers(array(
    array(
'127.0.0.1',11212),
    array(
'127.0.0.1',11211)
));
for(
$i=0;$i<10;$i++){
   
$key = 'key_'.$i;
   
$m->add($key, 1);
}
for(
$i=0;$i<10;$i++) {
   
$key = 'key_'.$i;
   
$arr = $m->getServerByKey($key);
    echo (
$key.":\t".$arr['port']."\n");
}
?>

key_0:  11212
key_1:  11211
key_2:  11212
key_3:  11212
key_4:  11212
key_5:  11211
key_6:  11211
key_7:  11212
key_8:  11212
key_9:  11211

 
show source | credits | sitemap | contact | advertising | mirror sites