Anton Terekhov
14 years ago
2 changed files with 91 additions and 8 deletions
@ -0,0 +1,45 @@ |
|||||
|
<?php |
||||
|
/** |
||||
|
* @copyright NetMonsters <team@netmonsters.ru> |
||||
|
* @link http://netmonsters.ru |
||||
|
* @package Majestic |
||||
|
* @subpackage Redis |
||||
|
* @since 2011-07-29 |
||||
|
* @version SVN: $Id$ |
||||
|
* @filesource $URL$ |
||||
|
*/ |
||||
|
|
||||
|
class RedisDebug |
||||
|
{ |
||||
|
private $redis; |
||||
|
|
||||
|
public function __construct($redis) |
||||
|
{ |
||||
|
if (!is_a($redis, 'Redis')) { |
||||
|
throw new MJException(); |
||||
|
} |
||||
|
$this->redis = $redis; |
||||
|
} |
||||
|
|
||||
|
public function __call($name, $arguments) |
||||
|
{ |
||||
|
$command = $name . '(' . $this->r_implode(', ', $arguments) . ')'; |
||||
|
$profiler = Profiler::getInstance()->profilerQuery($command); |
||||
|
$data = call_user_func_array(array($this->redis, $name), $arguments); |
||||
|
$profiler->end(); |
||||
|
return $data; |
||||
|
} |
||||
|
|
||||
|
protected function r_implode($glue, $pieces) |
||||
|
{ |
||||
|
$retVal = array(); |
||||
|
foreach ($pieces as $r_pieces) { |
||||
|
if (is_array($r_pieces)) { |
||||
|
$retVal[] = '(' . $this->r_implode($glue, $r_pieces) . ')'; |
||||
|
} else { |
||||
|
$retVal[] = $r_pieces; |
||||
|
} |
||||
|
} |
||||
|
return implode($glue, $retVal); |
||||
|
} |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue