コード例 #1
0
ファイル: scan.php プロジェクト: ezoic/hhvm
<?php

include __DIR__ . '/redis.inc';
$r = NewRedisTestInstance();
global $prefix;
$prefix = GetTestKeyName(__FILE__) . ':';
$r->setOption(Redis::OPT_PREFIX, $prefix);
$r->setOption(Redis::OPT_SCAN, Redis::SCAN_RETRY);
$ret = $r->delete('scan');
$ret = $r->mset(array('key:one' => 'one', 'key:two' => 'two', 'key:three' => 'three', 'key:four' => 'four'));
/*
 * The PHP5 extension we're patterning after doesn't try to turn
 * OPT_PREFIX into a pattern when doing scan(), so scan returns
 * global state. Filter it ourselves.
 */
function performScan($fn)
{
    $cursor = null;
    $returns = array();
    while ($retval = $fn($cursor)) {
        foreach ($retval as $key) {
            global $prefix;
            if (strstr($key, $prefix) !== false) {
                $returns[] = substr($key, strlen($prefix));
            }
        }
    }
    // Normalize return order
    sort($returns);
    return $returns;
}
コード例 #2
0
ファイル: geoadd.php プロジェクト: ezoic/hhvm
<?php

include __DIR__ . '/redis.inc';
$r = NewRedisTestInstance();
$r->setOption(Redis::OPT_PREFIX, GetTestKeyName(__FILE__) . ':');
$r->delete('Sicily');
$r->geoAdd('Sicily', '13.361389', '38.115556', 'Palermo', '15.087269', '37.502669', 'Catania');
var_dump($r->geoDist('Sicily', 'Palermo', 'Catania'));
var_dump($r->geoDist('Sicily', 'Palermo', 'Catania', 'mi'));
var_dump($r->geoDist('Sicily', 'Foo', 'Bar'));
var_dump($r->geoHash('Sicily', 'Palermo', 'Catania'));
var_dump($r->geoPos('Sicily', 'Palermo', 'Catania', 'NonExisting'));
var_dump($r->geoRadius('Sicily', '15', '37', '200', 'km', 'WITHDIST'));
var_dump($r->geoRadius('Sicily', '15', '37', '200', 'km', 'WITHCOORD'));
var_dump($r->geoRadius('Sicily', '15', '37', '200', 'km', 'WITHDIST', 'WITHCOORD'));
$r->geoAdd('Sicily', '13.583333', '37.316667', 'Agrigento');
var_dump($r->geoRadiusByMember('Sicily', 'Agrigento', '100', 'km'));
$r->delete('Sicily');
コード例 #3
0
ファイル: evalevalSha.php プロジェクト: badlamer/hhvm
<?php

include __DIR__ . '/redis.inc';
$r = NewRedisTestInstance();
$key = GetTestKeyName(__FILE__);
$prefix = $key . ':';
$r->delete($key);
$r->setOption(Redis::OPT_PREFIX, $prefix);
foreach (['eval', 'evaluate'] as $method) {
    echo $method . "\n";
    var_dump($r->{$method}('return 42'));
    // Return integer -> 42
    var_dump($r->{$method}('return false'));
    // Return false
    // Return results as array()
    var_dump($r->{$method}('return {1,2,{3,4,{"a","b"}}}'));
    // Script with parameters -> OK
    var_dump($r->eval("return redis.call('set',KEYS[1],ARGV[1])", [$key, 'bar'], 1));
    $r->setOption(Redis::OPT_PREFIX, 'ext_redis_eval_test:');
    var_dump($r->{$method}('return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}', ['key1', 'key2', 'first', 'second'], 2));
    $r->setOption(Redis::OPT_PREFIX, $prefix);
}
$sha = $r->script('load', 'return 42');
foreach (['evalSha', 'evaluateSha'] as $method) {
    echo $method . "\n";
    var_dump($r->{$method}($sha));
    // Return integer -> 42
    // SHA1SUM of with parameters -> OK
    var_dump($r->{$method}("c686f316aaf1eb01d5a4de1b0b63cd233010e63d", [$key, 'bar'], 1));
    $r->clearLastError();
    // No SHA1SUM -> NOSCRIPT error