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