Exemplo n.º 1
1
 /**
  * @param $siteUrl
  * @return array
  */
 public function loadScan($siteUrl)
 {
     $links = [];
     foreach ($this->getSitesKeys($siteUrl) as $pageUrl) {
         if ($link = $this->redis->hGetAll($this->getPageKey($siteUrl, $pageUrl))) {
             $links[] = $link;
         }
     }
     return $links;
 }
Exemplo n.º 2
0
 /**
  * Return all started workers arguments
  *
  * @return array An array of settings, by worker
  */
 public function getWorkers()
 {
     $workers = $this->redis->hGetAll(self::$workerKey);
     $temp = array();
     foreach ($workers as $name => $value) {
         $temp[$name] = unserialize($value);
     }
     return $temp;
 }
Exemplo n.º 3
0
 public function testHashes()
 {
     $this->redis->delete('h', 'key');
     $this->assertTrue(0 === $this->redis->hLen('h'));
     $this->assertTrue(TRUE === $this->redis->hSet('h', 'a', 'a-value'));
     $this->assertTrue(1 === $this->redis->hLen('h'));
     $this->assertTrue(TRUE === $this->redis->hSet('h', 'b', 'b-value'));
     $this->assertTrue(2 === $this->redis->hLen('h'));
     $this->assertTrue('a-value' === $this->redis->hGet('h', 'a'));
     // simple get
     $this->assertTrue('b-value' === $this->redis->hGet('h', 'b'));
     // simple get
     $this->assertTrue(FALSE === $this->redis->hSet('h', 'a', 'another-value'));
     // replacement
     $this->assertTrue('another-value' === $this->redis->hGet('h', 'a'));
     // get the new value
     $this->assertTrue('b-value' === $this->redis->hGet('h', 'b'));
     // simple get
     $this->assertTrue(FALSE === $this->redis->hGet('h', 'c'));
     // unknown hash member
     $this->assertTrue(FALSE === $this->redis->hGet('key', 'c'));
     // unknownkey
     // hDel
     $this->assertTrue(TRUE === $this->redis->hDel('h', 'a'));
     // TRUE on success
     $this->assertTrue(FALSE === $this->redis->hDel('h', 'a'));
     // FALSE on failure
     $this->redis->delete('h');
     $this->redis->hSet('h', 'x', 'a');
     $this->redis->hSet('h', 'y', 'b');
     // keys
     $keys = $this->redis->hKeys('h');
     $this->assertTrue($keys === array('x', 'y') || $keys === array('y', 'x'));
     // values
     $values = $this->redis->hVals('h');
     $this->assertTrue($values === array('a', 'b') || $values === array('b', 'a'));
     // keys + values
     $all = $this->redis->hGetAll('h');
     $this->assertTrue($all === array('x' => 'a', 'y' => 'b') || $all === array('y' => 'b', 'x' => 'a'));
     // hExists
     $this->assertTrue(TRUE === $this->redis->hExists('h', 'x'));
     $this->assertTrue(TRUE === $this->redis->hExists('h', 'y'));
     $this->assertTrue(FALSE === $this->redis->hExists('h', 'w'));
     $this->redis->delete('h');
     $this->assertTrue(FALSE === $this->redis->hExists('h', 'x'));
     // hIncrBy
     /*
     $this->redis->delete('h');
     $this->assertTrue(2.5 === $this->redis->hIncrBy('h', 2.5, 'x'));
     $this->assertTrue(3.5 === $this->redis->hIncrBy('h', 1, 'x'));
     
     $this->redis->hSet('h', 'y', 'not-a-number');
     $this->assertTrue(FALSE === $this->redis->hIncrBy('h', 1, 'y'));
     */
 }
Exemplo n.º 4
0
 /**
  * @inheritdoc
  */
 public function export($bucket, $type, $granularity, \DateTime $from, \DateTime $to = null)
 {
     if (null === $to) {
         $to = new \DateTime();
     }
     $granularities = $this->getGranularities();
     $settings = $granularities[$granularity];
     $keys = $this->getKeysForRange($bucket, $type, $granularity, $settings, $from, $to);
     $data = [];
     foreach ($keys as $key) {
         $all = $this->redis->hGetAll($key);
         foreach ($all as $stamp => $value) {
             if ($stamp >= $from->getTimestamp() && $stamp <= $to->getTimestamp()) {
                 $data[$stamp] = (int) $value;
             }
         }
     }
     ksort($data);
     return $data;
 }
Exemplo n.º 5
0
 static function manager_area_data_load($area, $start = 0, $end = 9999999999)
 {
     $result = array();
     if ($start == 0 && $end == 9999999999) {
         //缓存中寻找数据
         try {
             $redis = new Redis();
         } catch (Exception $e) {
             echo $e->getMessage();
         }
         $redis->connect('127.0.0.1', 6379);
         $result = $redis->hGetAll('_' . $area);
     }
     //缓存中没有,去数据库查找
     if (empty($result)) {
         $list = self::through_area_get_school($area);
         $reg = 0;
         $reg_in = 0;
         $auth = 0;
         $auth_in = 0;
         //获得认证总数
         $remote = new maindb();
         foreach ($list as $v) {
             $num1 = $remote->count('p_user', '*', array('AND' => array('school' => $v, 'reg_time[>]' => $start, 'reg_time[<]' => $end)));
             $reg += $num1;
             $num2 = $remote->count('p_user', '*', array('AND' => array('school' => $v, 'reg_time[>]' => $start, 'reg_time[<]' => $end, 'invite[!]' => '')));
             $reg_in += $num2;
             $num3 = $remote->count('p_user', '*', array('AND' => array('school' => $v, 'auth_time[>]' => $start, 'auth' => 1, 'auth_time[<]' => $end)));
             $auth += $num3;
             $num4 = $remote->count('p_user', '*', array('AND' => array('school' => $v, 'auth_time[>]' => $start, 'auth' => 1, 'auth_time[<]' => $end, 'invite[!]' => '')));
             $auth_in += $num4;
         }
         $result = array('register_all' => $reg, 'authority_all' => $auth, 'register_invite' => $reg_in, 'authority_invite' => $auth_in, 'register_nature' => $reg - $reg_in, 'authority_nature' => $auth - $auth_in);
     }
     unset($redis);
     return $result;
 }
$from = $_GET['from'];
if (!$from || empty($from)) {
    $from = time() - 3600;
}
// get url
$url = $_GET['url'];
// result array
$result = array();
while ($from < time()) {
    $date = gmdate($format, $from);
    if (!$url || empty($url)) {
        // view total
        $total = 0;
        // home.php views
        $key = 'm|' . $date . '|0:mydomain.com/home.php';
        $arr = $redis->hGetAll($key);
        $total += $arr[1];
        // contactus.php views
        $key = 'm|' . $date . '|0:mydomain.com/contactus.php';
        $arr = $redis->hGetAll($key);
        $total += $arr[1];
        // contactus.php views
        $key = 'm|' . $date . '|0:mydomain.com/about.php';
        $arr = $redis->hGetAll($key);
        $total += $arr[1];
        // contactus.php views
        $key = 'm|' . $date . '|0:mydomain.com/support.php';
        $arr = $redis->hGetAll($key);
        $total += $arr[1];
        // products.php
        for ($i = 0; $i < 100; $i++) {
Exemplo n.º 7
0
 /**
  * @param string $key
  * @return array
  */
 public function hGetAll($key)
 {
     return parent::hGetAll($key);
 }
Exemplo n.º 8
0
 private function checkSerializer($mode)
 {
     $this->redis->delete('key');
     $this->assertTrue($this->redis->getOption(Redis::OPT_SERIALIZER) === Redis::SERIALIZER_NONE);
     // default
     $this->assertTrue($this->redis->setOption(Redis::OPT_SERIALIZER, $mode) === TRUE);
     // set ok
     $this->assertTrue($this->redis->getOption(Redis::OPT_SERIALIZER) === $mode);
     // get ok
     // lPush, rPush
     $a = array('hello world', 42, TRUE, array('<tag>' => 1729));
     $this->redis->delete('key');
     $this->redis->lPush('key', $a[0]);
     $this->redis->rPush('key', $a[1]);
     $this->redis->rPush('key', $a[2]);
     $this->redis->rPush('key', $a[3]);
     // lGetRange
     $this->assertTrue($a === $this->redis->lGetRange('key', 0, -1));
     // lGet
     $this->assertTrue($a[0] === $this->redis->lGet('key', 0));
     $this->assertTrue($a[1] === $this->redis->lGet('key', 1));
     $this->assertTrue($a[2] === $this->redis->lGet('key', 2));
     $this->assertTrue($a[3] === $this->redis->lGet('key', 3));
     // lRemove
     $this->assertTrue($this->redis->lRemove('key', $a[3]) === 1);
     $this->assertTrue(array_slice($a, 0, 3) === $this->redis->lGetRange('key', 0, -1));
     // lSet
     $a[0] = array('k' => 'v');
     // update
     $this->assertTrue(TRUE === $this->redis->lSet('key', 0, $a[0]));
     $this->assertTrue($a[0] === $this->redis->lGet('key', 0));
     // lInsert
     $this->assertTrue($this->redis->lInsert('key', Redis::BEFORE, $a[0], array(1, 2, 3)) === 4);
     $this->assertTrue($this->redis->lInsert('key', Redis::AFTER, $a[0], array(4, 5, 6)) === 5);
     $a = array(array(1, 2, 3), $a[0], array(4, 5, 6), $a[1], $a[2]);
     $this->assertTrue($a === $this->redis->lGetRange('key', 0, -1));
     // sAdd
     $this->redis->delete('key');
     $s = array(1, 'a', array(1, 2, 3), array('k' => 'v'));
     $this->assertTrue(1 === $this->redis->sAdd('key', $s[0]));
     $this->assertTrue(1 === $this->redis->sAdd('key', $s[1]));
     $this->assertTrue(1 === $this->redis->sAdd('key', $s[2]));
     $this->assertTrue(1 === $this->redis->sAdd('key', $s[3]));
     // variadic sAdd
     $this->redis->delete('k');
     $this->assertTrue(3 === $this->redis->sAdd('k', 'a', 'b', 'c'));
     $this->assertTrue(1 === $this->redis->sAdd('k', 'a', 'b', 'c', 'd'));
     // sRemove
     $this->assertTrue(1 === $this->redis->sRemove('key', $s[3]));
     $this->assertTrue(0 === $this->redis->sRemove('key', $s[3]));
     // variadic
     $this->redis->delete('k');
     $this->redis->sAdd('k', 'a', 'b', 'c', 'd');
     $this->assertTrue(2 === $this->redis->sRem('k', 'a', 'd'));
     $this->assertTrue(2 === $this->redis->sRem('k', 'b', 'c', 'e'));
     $this->assertTrue(FALSE === $this->redis->exists('k'));
     // sContains
     $this->assertTrue(TRUE === $this->redis->sContains('key', $s[0]));
     $this->assertTrue(TRUE === $this->redis->sContains('key', $s[1]));
     $this->assertTrue(TRUE === $this->redis->sContains('key', $s[2]));
     $this->assertTrue(FALSE === $this->redis->sContains('key', $s[3]));
     unset($s[3]);
     // sMove
     $this->redis->delete('tmp');
     $this->redis->sMove('key', 'tmp', $s[0]);
     $this->assertTrue(FALSE === $this->redis->sContains('key', $s[0]));
     $this->assertTrue(TRUE === $this->redis->sContains('tmp', $s[0]));
     unset($s[0]);
     // sorted sets
     $z = array('z0', array('k' => 'v'), FALSE, NULL);
     $this->redis->delete('key');
     // zAdd
     $this->assertTrue(1 === $this->redis->zAdd('key', 0, $z[0]));
     $this->assertTrue(1 === $this->redis->zAdd('key', 1, $z[1]));
     $this->assertTrue(1 === $this->redis->zAdd('key', 2, $z[2]));
     $this->assertTrue(1 === $this->redis->zAdd('key', 3, $z[3]));
     // zDelete
     $this->assertTrue(1 === $this->redis->zDelete('key', $z[3]));
     $this->assertTrue(0 === $this->redis->zDelete('key', $z[3]));
     unset($z[3]);
     // check that zDelete doesn't crash with a missing parameter (GitHub issue #102):
     $this->assertTrue(FALSE === @$this->redis->zDelete('key'));
     // variadic
     $this->redis->delete('k');
     $this->redis->zAdd('k', 0, 'a');
     $this->redis->zAdd('k', 1, 'b');
     $this->redis->zAdd('k', 2, 'c');
     $this->assertTrue(2 === $this->redis->zDelete('k', 'a', 'c'));
     $this->assertTrue(1.0 === $this->redis->zScore('k', 'b'));
     $this->assertTrue($this->redis->zRange('k', 0, -1, true) == array('b' => 1.0));
     // zRange
     $this->assertTrue($z === $this->redis->zRange('key', 0, -1));
     // zScore
     $this->assertTrue(0.0 === $this->redis->zScore('key', $z[0]));
     $this->assertTrue(1.0 === $this->redis->zScore('key', $z[1]));
     $this->assertTrue(2.0 === $this->redis->zScore('key', $z[2]));
     // zRank
     $this->assertTrue(0 === $this->redis->zRank('key', $z[0]));
     $this->assertTrue(1 === $this->redis->zRank('key', $z[1]));
     $this->assertTrue(2 === $this->redis->zRank('key', $z[2]));
     // zRevRank
     $this->assertTrue(2 === $this->redis->zRevRank('key', $z[0]));
     $this->assertTrue(1 === $this->redis->zRevRank('key', $z[1]));
     $this->assertTrue(0 === $this->redis->zRevRank('key', $z[2]));
     // zIncrBy
     $this->assertTrue(3.0 === $this->redis->zIncrBy('key', 1.0, $z[2]));
     $this->assertTrue(3.0 === $this->redis->zScore('key', $z[2]));
     $this->assertTrue(5.0 === $this->redis->zIncrBy('key', 2.0, $z[2]));
     $this->assertTrue(5.0 === $this->redis->zScore('key', $z[2]));
     $this->assertTrue(2.0 === $this->redis->zIncrBy('key', -3.0, $z[2]));
     $this->assertTrue(2.0 === $this->redis->zScore('key', $z[2]));
     // mset
     $a = array('k0' => 1, 'k1' => 42, 'k2' => NULL, 'k3' => FALSE, 'k4' => array('a' => 'b'));
     $this->assertTrue(TRUE === $this->redis->mset($a));
     foreach ($a as $k => $v) {
         $this->assertTrue($this->redis->get($k) === $v);
     }
     $a = array('k0' => 1, 'k1' => 42, 'k2' => NULL, 'k3' => FALSE, 'k4' => array('a' => 'b'));
     // hSet
     $this->redis->delete('key');
     foreach ($a as $k => $v) {
         $this->assertTrue(1 === $this->redis->hSet('key', $k, $v));
     }
     // hGet
     foreach ($a as $k => $v) {
         $this->assertTrue($v === $this->redis->hGet('key', $k));
     }
     // hGetAll
     $this->assertTrue($a === $this->redis->hGetAll('key'));
     $this->assertTrue(TRUE === $this->redis->hExists('key', 'k0'));
     $this->assertTrue(TRUE === $this->redis->hExists('key', 'k1'));
     $this->assertTrue(TRUE === $this->redis->hExists('key', 'k2'));
     $this->assertTrue(TRUE === $this->redis->hExists('key', 'k3'));
     $this->assertTrue(TRUE === $this->redis->hExists('key', 'k4'));
     // hMSet
     $this->redis->delete('key');
     $this->redis->hMSet('key', $a);
     foreach ($a as $k => $v) {
         $this->assertTrue($v === $this->redis->hGet('key', $k));
     }
     // hMget
     $hmget = $this->redis->hMget('key', array_keys($a));
     foreach ($hmget as $k => $v) {
         $this->assertTrue($v === $a[$k]);
     }
     // getMultiple
     $this->redis->set('a', NULL);
     $this->redis->set('b', FALSE);
     $this->redis->set('c', 42);
     $this->redis->set('d', array('x' => 'y'));
     $this->assertTrue(array(NULL, FALSE, 42, array('x' => 'y')) === $this->redis->getMultiple(array('a', 'b', 'c', 'd')));
     // pipeline
     $this->sequence(Redis::PIPELINE);
     // multi-exec
     $this->sequence(Redis::MULTI);
     // keys
     $this->assertTrue(is_array($this->redis->keys('*')));
     // issue #62, hgetall
     $this->redis->del('hash1');
     $this->redis->hSet('hash1', 'data', 'test 1');
     $this->redis->hSet('hash1', 'session_id', 'test 2');
     $data = $this->redis->hGetAll('hash1');
     $this->assertTrue($data['data'] === 'test 1');
     $this->assertTrue($data['session_id'] === 'test 2');
     // issue #145, serializer with objects.
     $this->redis->set('x', array(new stdClass(), new stdClass()));
     $x = $this->redis->get('x');
     $this->assertTrue(is_array($x));
     $this->assertTrue(is_object($x[0]) && get_class($x[0]) === 'stdClass');
     $this->assertTrue(is_object($x[1]) && get_class($x[1]) === 'stdClass');
     // revert
     $this->assertTrue($this->redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_NONE) === TRUE);
     // set ok
     $this->assertTrue($this->redis->getOption(Redis::OPT_SERIALIZER) === Redis::SERIALIZER_NONE);
     // get ok
 }
Exemplo n.º 9
0
 public function hGetAll($key)
 {
     return $this->connection->hGetAll($key);
 }
Exemplo n.º 10
0
    exit('error[01]');
}
# $ip_key = '58WB5PL2j7QuMDIwMzgxLjE0NDE1MDMyMDQ=';
/* 压测时用到的代码  S */
if ($debug && 0) {
    include '/www/dynamic/html/channel/mainpage/ip_cp_array.php';
    // $icNum = count($ipckArr);
    $icIndex = mt_rand(0, 1000);
    $ip_key = $specialIpCkArr1[$icIndex];
}
/* 压测时用到的代码 E */
## 全局变量声明
# 属性所对应的权重
$propertyArr = array('nproduct' => 1.0, 'nbooktitle' => 0.95, 'nmanu' => 0.85, 'ntype' => 0.78, 'nproperty' => 0.7, 'nsubcat' => 0.6, 'eng' => 0.6, 'n' => 0.3, 'nr' => 0.3, 'nz' => 0.3);
if ($ip_key) {
    $result = $redis->hGetAll($ip_key);
    //$key = '';
    $fields = 'document_id,title,url,pic_src';
    # 解析从redis过来的数据
    $newArr = array();
    foreach ($result as $key => $value) {
        $value = str_replace('(u', '(', $value);
        $value = str_replace(array('[(', ')]', '\'', '[', ']', '\\'), '', $value);
        $arr1 = explode('), (', trim($value, "'"));
        $res1_1 = array();
        foreach ($arr1 as $k2 => $v2) {
            $res1_1[$k2] = explode(', ', trim($v2, "'"));
        }
        $newArr[$key] = $res1_1;
    }
    # 从redis获得两组数据doc_id和domain  $newArr['article_id'] ; $newArr['domain']
Exemplo n.º 11
0
}
if ($advertiser != '') {
    $arr[] = "1:" . $advertiser;
}
if ($adunit != '') {
    $arr[] = "2:" . $adunit;
}
$subpattern = "";
if (count($arr) != 0) {
    $subpattern = join("|", $arr);
}
$result = array();
while ($from < time()) {
    $date = gmdate($format, $from);
    if ($subpattern != '') {
        $key = $bucket . '|' . $date . '|' . $subpattern;
    } else {
        $key = $bucket . '|' . $date;
    }
    $hash = $redis->hGetAll($key);
    if ($hash) {
        $cost = $hash['1'];
        $revenue = $hash['2'];
        $impressions = $hash['3'];
        $clicks = $hash['4'];
        $result[] = array('timestamp' => $from * 1000, 'cost' => $cost, 'revenue' => $revenue, 'clicks' => $clicks, 'impressions' => $impressions);
    }
    $from += $incr;
}
array_pop($result);
print json_encode($result);
Exemplo n.º 12
0
 public function testHashes()
 {
     $this->redis->delete('h', 'key');
     $this->assertTrue(0 === $this->redis->hLen('h'));
     $this->assertTrue(TRUE === $this->redis->hSet('h', 'a', 'a-value'));
     $this->assertTrue(1 === $this->redis->hLen('h'));
     $this->assertTrue(TRUE === $this->redis->hSet('h', 'b', 'b-value'));
     $this->assertTrue(2 === $this->redis->hLen('h'));
     $this->assertTrue('a-value' === $this->redis->hGet('h', 'a'));
     // simple get
     $this->assertTrue('b-value' === $this->redis->hGet('h', 'b'));
     // simple get
     $this->assertTrue(FALSE === $this->redis->hSet('h', 'a', 'another-value'));
     // replacement
     $this->assertTrue('another-value' === $this->redis->hGet('h', 'a'));
     // get the new value
     $this->assertTrue('b-value' === $this->redis->hGet('h', 'b'));
     // simple get
     $this->assertTrue(FALSE === $this->redis->hGet('h', 'c'));
     // unknown hash member
     $this->assertTrue(FALSE === $this->redis->hGet('key', 'c'));
     // unknownkey
     // hDel
     $this->assertTrue(TRUE === $this->redis->hDel('h', 'a'));
     // TRUE on success
     $this->assertTrue(FALSE === $this->redis->hDel('h', 'a'));
     // FALSE on failure
     $this->redis->delete('h');
     $this->redis->hSet('h', 'x', 'a');
     $this->redis->hSet('h', 'y', 'b');
     // keys
     $keys = $this->redis->hKeys('h');
     $this->assertTrue($keys === array('x', 'y') || $keys === array('y', 'x'));
     // values
     $values = $this->redis->hVals('h');
     $this->assertTrue($values === array('a', 'b') || $values === array('b', 'a'));
     // keys + values
     $all = $this->redis->hGetAll('h');
     $this->assertTrue($all === array('x' => 'a', 'y' => 'b') || $all === array('y' => 'b', 'x' => 'a'));
     // hExists
     $this->assertTrue(TRUE === $this->redis->hExists('h', 'x'));
     $this->assertTrue(TRUE === $this->redis->hExists('h', 'y'));
     $this->assertTrue(FALSE === $this->redis->hExists('h', 'w'));
     $this->redis->delete('h');
     $this->assertTrue(FALSE === $this->redis->hExists('h', 'x'));
     // hIncrBy
     $this->redis->delete('h');
     $this->assertTrue(25 === $this->redis->hIncrBy('h', 'x', 25));
     $this->assertTrue(35 === $this->redis->hIncrBy('h', 'x', 10));
     $this->redis->hSet('h', 'y', 'not-a-number');
     $this->assertTrue(FALSE === $this->redis->hIncrBy('h', 'y', 1));
     $this->redis->delete('h1');
     //hMGet, hMSet
     $this->redis->hset("h1", "field1", "value1");
     $this->redis->hset("h1", "field2", "value2");
     $this->assertTrue(array('field1' => 'value1', 'field2' => 'value2') === $this->redis->hGetAll('h1'));
     $this->assertTrue(array('field1' => 'value1', 'field2' => 'value2') === $this->redis->hMGet('h1', array('field1', 'field2')));
     $this->assertTrue(array('field1' => 'value1') === $this->redis->hMGet('h1', array('field1')));
     $this->assertTrue(FALSE === $this->redis->hMGet('h1', array()));
     $this->assertTrue(TRUE === $this->redis->hMSet('h1', array('field3' => 'value3')));
     $this->assertTrue(array('field1' => 'value1', 'field2' => 'value2', 'field3' => 'value3') === $this->redis->hGetAll('h1'));
     $this->assertTrue(TRUE === $this->redis->hMSet('h1', array('field3' => 'value4')));
     $this->assertTrue(array('field1' => 'value1', 'field2' => 'value2', 'field3' => 'value4') === $this->redis->hGetAll('h1'));
     $this->assertTrue(TRUE === $this->redis->hMSet('h1', array('x' => 0, 'y' => array(), 'z' => new stdclass())));
     $h1 = $this->redis->hGetAll('h1');
     $this->assertTrue('0' === $h1['x']);
     $this->assertTrue('Array' === $h1['y']);
     $this->assertTrue('Object' === $h1['z']);
 }
 /**
  * 获取任务的结构体
  *
  * @param string $jobId
  * @return array
  */
 public function getJobStruct($jobId)
 {
     return $this->client->hGetAll($this->name . ':' . Job::JOB_TAB . ':' . $jobId);
 }
Exemplo n.º 14
0
 /**
  * 获取hash表的数据
  * @param $hash string 哈希表名
  * @param $key mixed 表中要存储的key名 默认为null 返回所有key->value
  * @param $type int 要获取的数据类型 0:返回所有key 1:返回所有value 2:返回所有key->value
  */
 public static function hashGet($hash, $key = array(), $type = 0)
 {
     $redis = new \Redis();
     $redis->connect(self::_HOST, self::_PORT);
     $return = null;
     if ($key) {
         if (is_array($key) && !empty($key)) {
             $return = $redis->hMGet($hash, $key);
         } else {
             $return = $redis->hGet($hash, $key);
         }
     } else {
         switch ($type) {
             case 0:
                 $return = $redis->hKeys($hash);
                 break;
             case 1:
                 $return = $redis->hVals($hash);
                 break;
             case 2:
                 $return = $redis->hGetAll($hash);
                 break;
             default:
                 $return = false;
                 break;
         }
     }
     $redis->close();
     $redis = null;
     return $return;
 }
Exemplo n.º 15
0
header("cache-control:no-cache,must-revalidate");
header("Content-Type:text/html;charset=utf8");
function split_line($input, $separator)
{
    $ret = array();
    $line = strtok($input, $separator);
    while ($line != "") {
        array_push($ret, $line);
        $line = strtok($separator);
    }
    return $ret;
}
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$deployment = $redis->get('deployment');
$machine_status = $redis->hGetAll('MachineStatus');
$outputstr = "{\"deployment\":{$deployment},\"machine_status\":[";
$first = true;
while (list($ip, $info) = each($machine_status)) {
    if ($first) {
        $first = false;
    } else {
        $outputstr = $outputstr + ",";
    }
    $outputstr = $outputstr . "{\"ip\":\"{$ip}\",\"status\":" . base64_decode($info) . "}";
}
$outputstr = $outputstr . "]}";
echo $outputstr;
?>

Exemplo n.º 16
0
header("Content-type: text/html; charset=utf-8");
require_once 'common.php';
$getData = checkData($_GET);
$act = $getData['act'];
$getData['p'] = $getData['p'] == 1 ? 'ios' : 'ipad';
$ip = getRemoteIp();
//echo $url;
$redis = new Redis();
$redis->connect($config['redis']['host']);
$redis->select(20);
//iosdb
$deviceKey = 'device#' . $getData['idfa'];
$deviceInfo = $redis->hgetall($deviceKey);
$redis->select(21);
//ipdb
$ipInfo = $redis->hGetAll('ip#' . ip2long($ip));
if ($deviceInfo['id']) {
    $getData2['ptype'] = 0;
} else {
    $getData2['ptype'] = 1;
}
$url = "http://58.96.179.32:1024/mobileApi.php?act=wap&idfa=" . $getData['idfa'] . "&ip=" . $ip . "&ver=" . $getData['ver'] . "&deviceType=" . urlencode($getData['deviceType']) . "&bid=" . $getData['bid'] . "&ptype=" . $getData2['ptype'];
//act=wap&idfa=aa&ip=192.168.0.15&ver=13
if ($ipInfo['ip']) {
    $r = qm_get_contents($url);
    //echo "get  ".$url."\r\n";
    //print_r($r);
}
//print_r($deviceInfo);
//print_r($ipInfo);
$time = time();