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