options = $this->createOptions($options ?: array()); $this->profile = $this->options->profile; } public function setConnection($parameters) { $this->connection = $this->createConnection($parameters ?: array()); } /** * @param string $key * @return array */ public function get($key, $output = false) { $start = microtime(true); $_data = parent::get($key); $end = microtime(true); $t = $end - $start; if ($output) { print_r("REDIS GET key '{$key}': {$t} segundos" . PHP_EOL); } $start = microtime(true); $data_cached = json_decode($_data, true); $end = microtime(true); $t = $end - $start; if ($output) { print_r("DECODE key '{$key}': {$t} segundos" . PHP_EOL); } parent::disconnect(); parent::quit(); if (is_null($data_cached)) $data_cached = array(); return $data_cached; } /** * @param string $key * @param array $data */ public function set($key, $data, $output = false) { $start = microtime(true); $_save = json_encode($data); $end = microtime(true); $t = $end - $start; if ($output) { print_r("ENCODE key '{$key}': {$t} segundos" . PHP_EOL); } $start = microtime(true); parent::setex($key, 7200, $_save); $end = microtime(true); $t = $end - $start; if ($output) { print_r("SETEX key '{$key}': {$t} segundos" . PHP_EOL); } } /** * @param string $key * @return string */ public function getString($key, $output = false) { $start = microtime(true); $_data = parent::get($key); $end = microtime(true); $t = $end - $start; if ($output) { print_r("REDIS GET key '{$key}': {$t} segundos" . PHP_EOL); } parent::disconnect(); parent::quit(); return $_data; } /** * @param string $key * @param string $data */ public function setString($key, $data, $output = false) { $_save = $data; $start = microtime(true); parent::setex($key, 7200, $_save); $end = microtime(true); $t = $end - $start; if ($output) { print_r("SETEX key '{$key}': {$t} segundos" . PHP_EOL); } } /** * @param string|array $key */ public function del($key) { if(is_array($key)) { return parent::del($key); } else { return parent::del(array($key)); } } /** * @param string $key * @param string $field * @param array $data */ public function hset($key, $field, $data, $output = false) { $start = microtime(true); $_save = json_encode($data); $end = microtime(true); $t = $end - $start; if ($output) { print_r("ENCODE key '{$key}.{$field}': {$t} segundos" . PHP_EOL); } $start = microtime(true); parent::hset($key, $field, $_save); $end = microtime(true); $t = $end - $start; if ($output) { print_r("SETEX key '{$key}.{$field}': {$t} segundos" . PHP_EOL); } } }