#110864 Конфигурация yii для работы с кластерным redis
This commit is contained in:
parent
1e3c0631d7
commit
55cd4c5ddb
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue