示例#1
0
文件: Redis.php 项目: vzina/esaywork
 public function send(callable $callback)
 {
     $client = new \swoole_redis();
     $calltime = microtime(true);
     $key = md5($calltime . $this->_config['host'] . $this->_config['port'] . rand(0, 10000));
     $method = $this->_method;
     $params = $this->_argv;
     $db = (int) $this->_config['db'];
     array_push($params, function (\swoole_redis $redis, $result) use($callback, $key, $calltime) {
         call_user_func_array($callback, ['r' => 0, 'key' => $key, 'calltime' => $calltime, 'data' => $result]);
         $redis->close();
     });
     $client->connect($this->_config['host'], $this->_config['port'], function (\swoole_redis $client, $result) use($method, $params, $db) {
         $callback = end($params);
         if ($result == false) {
             call_user_func_array($callback, [$client, ['errCode' => $client->errCode, 'errMsg' => $client->errMsg]]);
             return;
         }
         if ($db) {
             $client->select($db, function (\swoole_redis $client, $result) use($method, $params, $callback) {
                 if ($result == false) {
                     call_user_func_array($callback, [$client, ['errCode' => $client->errCode, 'errMsg' => $client->errMsg]]);
                     return;
                 }
                 call_user_func_array([$client, $method], $params);
             });
             return;
         }
         call_user_func_array([$client, $method], $params);
     });
     unset($this->_method, $this->_argv);
 }
示例#2
0
文件: redis.php 项目: ssdphp/ssdphp
 public function index()
 {
     $client = new \swoole_redis();
     $client->on('message', function (\swoole_redis $client, $result) {
         print_r($result);
     });
     $client->connect('127.0.0.1', 6379, function (\swoole_redis $client, $result) {
         echo "connect\n";
         $client->psubscribe('__key*__:*');
     });
 }
示例#3
0
 protected function connect()
 {
     $redis = new \swoole_redis();
     $redis->on('close', function ($redis) {
         $this->remove($redis);
     });
     return $redis->connect($this->config['host'], $this->config['port'], function ($redis, $result) {
         if ($result) {
             $this->join($redis);
         } else {
             $this->failure();
             trigger_error("connect to redis server[{$this->config['host']}:{$this->config['port']}] failed. Error: {$redis->errMsg}[{$redis->errCode}].");
         }
     });
 }
示例#4
0
<?php

$client = new swoole_redis();
$client->on('message', function (swoole_redis $client, $result) {
    var_dump($result);
    static $more = false;
    if (!$more and $result[0] == 'message') {
        echo "subscribe new channel\n";
        $client->subscribe('msg_1', 'msg_2');
        $client->unsubscribe('msg_0');
        $more = true;
    }
});
$client->connect('127.0.0.1', 6379, function (swoole_redis $client, $result) {
    echo "connect\n";
    $client->subscribe('msg_0');
});
示例#5
0
 function getResult4($response)
 {
     $client = new swoole_redis();
     $ip = "127.0.0.1";
     $port = 6379;
     $client->connect($ip, $port, function (swoole_redis $client, $result) use($response) {
         if ($result === false) {
             echo "connect to redis server failed\n";
             return false;
         }
         $client->GET('key', function (swoole_redis $client, $result) use($response) {
             //echo "get  result is :" . $result;
             $response->header('Content-Type', 'application/json');
             $response->end($result);
         });
     });
 }
示例#6
0
<?php

$client = new swoole_redis();
$client->connect('127.0.0.1', 6379, function (swoole_redis $client, $result) {
    echo "connect\n";
    $client->set('key', 'swoole', function (swoole_redis $client, $result) {
        echo "set key OK\n";
        $client->get('key', function (swoole_redis $client, $result) {
            var_dump($result);
            $client->keys('*', function (swoole_redis $client, $result) {
                var_dump($result);
                $client->close();
            });
        });
    });
});
示例#7
0
<?php

$client = new swoole_redis();
$client->connect('127.0.0.1', 6379, function (swoole_redis $client, $result) {
    $client->execute('SET key swoole', function (swoole_redis $client, $result) {
        var_dump($client, $result);
        $client->execute('get key', function (swoole_redis $client, $result) {
            var_dump($client, $result);
            $client->close();
        });
    });
});