MCRouter::get
Retreive a value
public function get(
string $key,
): Awaitable<string>;
Parameters
string $key
- Name of the key to retreive
Returns
string
- - The Value stored
Examples
Most of the MCRouter
examples use MCRouter::get
in order to demonstrate other functions of the API. This example calls out get
explicitly in its own function to show you how it works. If you try to get
on a key that does not exist, an exception will be thrown.
function get_simple_mcrouter(): \MCRouter {
$servers = Vector {\getenv('HHVM_TEST_MCROUTER')};
$mc = \MCRouter::createSimple($servers);
return $mc;
}
async function set_value(
\MCRouter $mc,
string $key,
string $value,
): Awaitable<void> {
// can also pass optional int flags and int expiration time (in seconds)
await $mc->set($key, $value);
}
async function get_value(\MCRouter $mc, string $key): Awaitable<?string> {
$ret = null;
try {
$ret = await $mc->get($key);
} catch (\MCRouterException $ex) { // e.g., exception if key doesn't exist
\var_dump($ex->getMessage());
}
return $ret;
}
<<__EntryPoint>>
async function run(): Awaitable<void> {
$mc = get_simple_mcrouter();
$unique_key = \str_shuffle('ABCDEFGHIJKLMN');
await set_value($mc, $unique_key, "Hi");
$val = await get_value($mc, $unique_key);
\var_dump($val);
// Getting a non-existent key is no good
$val = await get_value($mc, "THISKEYDOESNOTEXISTIHOPE");
if (!$val) {
echo "Key must not have existed\n";
}
}
```.hhvm.expectf
string(2) "Hi"
string(38) "get failed with result mc_res_notfound"
Key must not have existed
```.example.hhvm.out
string(2) "Hi"
string(38) "get failed with result mc_res_notfound"
Key must not have existed
```.skipif
\Hack\UserDocumentation\API\Examples\MCRouter\skipif();