public function testScalars() { // Basic get/set $this->credis->set('foo', 'FOO'); $this->assertEquals('FOO', $this->credis->get('foo')); $this->assertFalse($this->credis->get('nil')); // Empty string $this->credis->set('empty', ''); $this->assertEquals('', $this->credis->get('empty')); // UTF-8 characters $utf8str = str_repeat("quarter: ¼, micro: µ, thorn: Þ, ", 500); $this->credis->set('utf8', $utf8str); $this->assertEquals($utf8str, $this->credis->get('utf8')); // Array $this->assertTrue($this->credis->mSet(array('bar' => 'BAR', 'apple' => 'red'))); $mGet = $this->credis->mGet(array('foo', 'bar', 'empty')); $this->assertTrue(in_array('FOO', $mGet)); $this->assertTrue(in_array('BAR', $mGet)); $this->assertTrue(in_array('', $mGet)); // Non-array $mGet = $this->credis->mGet('foo', 'bar'); $this->assertTrue(in_array('FOO', $mGet)); $this->assertTrue(in_array('BAR', $mGet)); // Delete strings, null response $this->assertEquals(2, $this->credis->del('foo', 'bar')); $this->assertFalse($this->credis->get('foo')); $this->assertFalse($this->credis->get('bar')); // Long string $longString = str_repeat(md5('asd'), 4096); // 128k (redis.h REDIS_INLINE_MAX_SIZE = 64k) $this->assertTrue($this->credis->set('long', $longString)); $this->assertEquals($longString, $this->credis->get('long')); }
public function testConnectionStrings() { $this->credis->close(); $this->credis = new Credis_Client('tcp://' . $this->config[0]->host . ':' . $this->config[0]->port); $this->assertEquals($this->credis->getHost(), $this->config[0]->host); $this->assertEquals($this->credis->getPort(), $this->config[0]->port); $this->credis = new Credis_Client('tcp://' . $this->config[0]->host); $this->assertEquals($this->credis->getPort(), $this->config[0]->port); $this->credis = new Credis_Client('tcp://' . $this->config[0]->host . ':' . $this->config[0]->port . '/abc123'); $this->assertEquals('abc123', $this->credis->getPersistence()); $this->credis = new Credis_Client(realpath(__DIR__) . '/redis.sock', 0, null, 'persistent'); $this->credis->connect(); $this->credis->set('key', 'value'); $this->assertEquals('value', $this->credis->get('key')); }
/** * 根据ID获得对应的缓存值 * @param string $id * @return mixed */ public function get($id) { $key = $this->_getKeyName($id); return unserialize($this->_client->get($key)); }
#!/usr/bin/php <?php $config = ['git_urls' => ['https://github.com/colinmollenhour/credis.git' => 'credis/'], 'require_once' => ['credis/Client.php', 'credis/Cluster.php', 'credis/Sentinel.php'], 'example' => function () { $client = new Credis_Client(getenv('REDIS_HOST') ?: '127.0.0.1', getenv('REDIS_PORT') ?: 6379); $client->set('testme_key', 'testme_val'); $value = $client->get('testme_key'); print ($value == 'testme_val' ? 'OK' : 'ERROR') . PHP_EOL; }]; if ($return_config) { return $config; } require_once __DIR__ . '/_yf_autoloader.php'; new yf_autoloader($config);
require_once __DIR__ . '/vendor/autoload.php'; use Silex\Application; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Guzzle\Http\Client; $app = new Application(); $app['debug'] = true; $app->get('/load', function (Request $request) use($app) { $data = verifySignedRequest($request->get('signed_payload')); if (empty($data)) { return 'Invalid signed_payload.'; } $redis = new Credis_Client('localhost'); $key = getUserKey($data['store_hash'], $data['user']['email']); $user = json_decode($redis->get($key), true); if (empty($user)) { return 'Invalid user.'; } return 'Welcome ' . json_encode($user); }); $app->get('/auth/callback', function (Request $request) use($app) { $payload = array('client_id' => clientId(), 'client_secret' => clientSecret(), 'redirect_uri' => callbackUrl(), 'grant_type' => 'authorization_code', 'code' => $request->get('code'), 'scope' => $request->get('scope'), 'context' => $request->get('context')); $client = new Client(bcAuthService()); $req = $client->post('/oauth2/token', array(), $payload, array('exceptions' => false)); $resp = $req->send(); if ($resp->getStatusCode() == 200) { $data = $resp->json(); list($context, $storeHash) = explode('/', $data['context'], 2); $key = getUserKey($storeHash, $data['user']['email']); $redis = new Credis_Client('localhost');