(PECL memcached >= 0.1.0)
Memcached::getMulti — Retrieve multiple items
Memcached::getMulti() is similar to
Memcached::get(), but instead of a single key
item, it retrieves multiple items the keys of which are specified in the
keys
array.
Notă:
Before v3.0 a second argument
&cas_tokens
was in use. It was filled with the CAS token values for the found items. The&cas_tokens
parameter was removed in v3.0 of the extension. It was replaced with a new flagMemcached::GET_EXTENDED
that needs is to be used as the value forflags
.
The flags
parameter can be used to specify
additional options for Memcached::getMulti().
Memcached::GET_PRESERVE_ORDER
ensures that the
keys are returned in the same order as they were requested in.
Memcached::GET_EXTENDED
ensures that the
CAS tokens will be fetched too.
keys
Array of keys to retrieve.
flags
The flags for the get operation.
Returns the array of found items sau FALSE
în cazul eșecului.
Utilizați
Memcached::getResultCode()
dacă e necesar.
Example #1 Memcached::getMulti() example for Memcached v3
<?php
// Valid for v3 of the extension
$m = new Memcached();
$m->addServer('localhost', 11211);
$items = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
$m->setMulti($items);
$result = $m->getMulti(array('key1', 'key3', 'badkey'));
var_dump($result);
?>
Exemplul de mai sus va afișa ceva similar cu:
array(2) { ["key1"]=> string(6) "value1" ["key3"]=> string(6) "value3" }
Example #2 Memcached::getMulti() example for Memcached v1 and v2
<?php
// Valid for v1 and v2 of the extension
$m = new Memcached();
$m->addServer('localhost', 11211);
$items = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
$m->setMulti($items);
$result = $m->getMulti(array('key1', 'key3', 'badkey'), $cas);
var_dump($result, $cas);
?>
Exemplul de mai sus va afișa ceva similar cu:
array(2) { ["key1"]=> string(6) "value1" ["key3"]=> string(6) "value3" } array(2) { ["key1"]=> float(2360) ["key3"]=> float(2362) }
Example #3 Memcached::GET_PRESERVE_ORDER
example for Memcached v3
<?php
// Valid for v3 of the extension
$m = new Memcached();
$m->addServer('localhost', 11211);
$data = array(
'foo' => 'foo-data',
'bar' => 'bar-data',
'baz' => 'baz-data',
'lol' => 'lol-data',
'kek' => 'kek-data',
);
$m->setMulti($data, 3600);
$keys = array_keys($data);
$keys[] = 'zoo';
$got = $m->getMulti($keys, Memcached::GET_PRESERVE_ORDER);
foreach ($got as $k => $v) {
echo "$k $v\n";
}
?>
Exemplul de mai sus va afișa ceva similar cu:
foo foo-data bar bar-data baz baz-data lol lol-data kek kek-data zoo
Example #4 Memcached::GET_PRESERVE_ORDER
example for Memcached v1 and v2
<?php
// Valid for v1 and v2 of the extension
$m = new Memcached();
$m->addServer('localhost', 11211);
$data = array(
'foo' => 'foo-data',
'bar' => 'bar-data',
'baz' => 'baz-data',
'lol' => 'lol-data',
'kek' => 'kek-data',
);
$m->setMulti($data, 3600);
$null = null;
$keys = array_keys($data);
$keys[] = 'zoo';
$got = $m->getMulti($keys, $null, Memcached::GET_PRESERVE_ORDER);
foreach ($got as $k => $v) {
echo "$k $v\n";
}
?>
Exemplul de mai sus va afișa ceva similar cu:
foo foo-data bar bar-data baz baz-data lol lol-data kek kek-data zoo
Versiune | Descriere |
---|---|
3.0.0 |
The &cas_tokens parameter was removed.
The Memcached::GET_EXTENDED was added and when passed as a flag it ensures the CAS tokens to be fetched.
|