From 55cd4c5ddb5784ed0f3e5d296e6752779692a2dc Mon Sep 17 00:00:00 2001 From: Sasha Rybkin Date: Mon, 14 Apr 2025 17:53:24 +0300 Subject: [PATCH] =?UTF-8?q?#110864=20=D0=9A=D0=BE=D0=BD=D1=84=D0=B8=D0=B3?= =?UTF-8?q?=D1=83=D1=80=D0=B0=D1=86=D0=B8=D1=8F=20yii=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=D1=81=20=D0=BA=D0=BB?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D0=B5=D1=80=D0=BD=D1=8B=D0=BC=20redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Connection.php | 5 +++-- RedisCache.php | 18 +++++++++++------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/Connection.php b/Connection.php index 1778e22..b9fd373 100644 --- a/Connection.php +++ b/Connection.php @@ -4,6 +4,7 @@ namespace dominion\cache; use Yii; use Predis\Client; +use yii\helpers\Inflector; class Connection extends \yii\redis\Connection { @@ -14,7 +15,7 @@ class Connection extends \yii\redis\Connection /** * @var mixed Options to configure some behaviours of the client. */ - public $options; + public $options = []; /** * @var Client redis socket connection @@ -34,7 +35,7 @@ class Connection extends \yii\redis\Connection public function executeCommand($name, $params = []) { $this->open(); - Yii::debug("Executing Redis Command: {$name} ". implode(' ', $params), __METHOD__); + Yii::debug("Executing Redis Command: {$name} " . implode(' ', $params), __METHOD__); return $this->_socket->executeCommand( $this->_socket->createCommand($name, $params) ); diff --git a/RedisCache.php b/RedisCache.php index 38cd531..b3b6972 100644 --- a/RedisCache.php +++ b/RedisCache.php @@ -61,7 +61,7 @@ class RedisCache { if (!self::$prefix) { - self::$prefix = isset(Yii::$app->params['redis'], Yii::$app->params['redis']['prefix']) ? (int) Yii::$app->params['redis']['prefix'] : ''; + self::$prefix = isset(Yii::$app->params['redis'], Yii::$app->params['redis']['prefix']) ? (string)Yii::$app->params['redis']['prefix'] : ''; } return self::$prefix; } @@ -97,7 +97,7 @@ class RedisCache public static function hset($key, $field, $value) { - return self::getActive() ? Yii::$app->redis->hset(self::calculateKey($key), $field, $value) : false; + return self::getActive() ? Yii::$app->redis->hset(self::calculateKey($key), $field, json_encode($value)) : false; } public static function hsetModel($key, $field, $model) @@ -134,7 +134,12 @@ class RedisCache public static function hget($key, $field) { - return self::getActive() ? Yii::$app->redis->hget(self::calculateKey($key), $field) : false; + $output = false; + if(self::getActive()) + { + $output = json_decode(Yii::$app->redis->hget(self::calculateKey($key), $field), true); + } + return $output === null ? false : $output;; } public static function hgetModel($key, $field, $className) @@ -275,8 +280,7 @@ class RedisCache { $options = ['EX' => $options]; } - $json = json_encode($value); - Yii::$app->redis->set(self::calculateKey($key), $json, $options); + Yii::$app->redis->set(self::calculateKey($key), json_encode($value) .' '. implode(' ', $options)); } return $result; } @@ -309,9 +313,9 @@ class RedisCache $result = false; if (self::getActive()) { - $result = Yii::$app->redis->get(self::calculateKey($key)); + $result = json_decode(Yii::$app->redis->get(self::calculateKey($key)), true); } - return $result ? json_decode($result, true) : $result; + return $result === null ? false : $result; } public static function getModel($key, $className)