#117067 Доработка редис на yii проектах RedisSentinel
This commit is contained in:
@@ -52,7 +52,7 @@ class RedisCache
|
||||
{
|
||||
if (!self::$livetime)
|
||||
{
|
||||
self::$livetime = isset(Yii::$app->params['redis'], Yii::$app->params['redis']['livetime']) ? (int) Yii::$app->params['redis']['livetime'] : 300;
|
||||
self::$livetime = isset(Yii::$app->params['redis'], Yii::$app->params['redis']['livetime']) ? (int) Yii::$app->params['redis']['livetime'] : 15*60;
|
||||
}
|
||||
return self::$livetime;
|
||||
}
|
||||
@@ -61,16 +61,11 @@ class RedisCache
|
||||
{
|
||||
if (!self::$prefix)
|
||||
{
|
||||
self::$prefix = isset(Yii::$app->params['redis'], Yii::$app->params['redis']['prefix']) ? (string)Yii::$app->params['redis']['prefix'] : '';
|
||||
self::$prefix = isset(Yii::$app->redis->parameters, Yii::$app->redis->parameters['prefix']) ? Yii::$app->redis->parameters['prefix'] : '';
|
||||
}
|
||||
return self::$prefix;
|
||||
}
|
||||
|
||||
protected static function calculateKey($key)
|
||||
{
|
||||
return self::prefix() . $key;
|
||||
}
|
||||
|
||||
public static function hdel($key, $value)
|
||||
{
|
||||
if (self::$setDeleteKey)
|
||||
@@ -79,7 +74,7 @@ class RedisCache
|
||||
}
|
||||
else
|
||||
{
|
||||
Yii::$app->redis->hdel(self::calculateKey($key), $value);
|
||||
Yii::$app->redis->hdel($key, $value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,13 +86,13 @@ class RedisCache
|
||||
}
|
||||
else
|
||||
{
|
||||
Yii::$app->redis->del(self::calculateKey($key));
|
||||
Yii::$app->redis->del($key);
|
||||
}
|
||||
}
|
||||
|
||||
public static function hset($key, $field, $value)
|
||||
{
|
||||
return self::getActive() ? Yii::$app->redis->hset(self::calculateKey($key), $field, json_encode($value)) : false;
|
||||
return self::getActive() ? Yii::$app->redis->hset($key, $field, json_encode($value)) : false;
|
||||
}
|
||||
|
||||
public static function hsetModel($key, $field, $model)
|
||||
@@ -137,7 +132,7 @@ class RedisCache
|
||||
$output = false;
|
||||
if(self::getActive())
|
||||
{
|
||||
$output = json_decode(Yii::$app->redis->hget(self::calculateKey($key), $field), true);
|
||||
$output = json_decode(Yii::$app->redis->hget($key, $field), true);
|
||||
}
|
||||
return $output === null ? false : $output;;
|
||||
}
|
||||
@@ -201,7 +196,7 @@ class RedisCache
|
||||
foreach ($patterns as $pattern)
|
||||
{
|
||||
$arKeys = [];
|
||||
while ($values = Yii::$app->redis->hscan(self::calculateKey($key), $cursor, $pattern))
|
||||
while ($values = Yii::$app->redis->hscan($key, $cursor, $pattern))
|
||||
{
|
||||
foreach ($values as $vkey => $value)
|
||||
{
|
||||
@@ -233,7 +228,7 @@ class RedisCache
|
||||
public static function getKeyTypes()
|
||||
{
|
||||
|
||||
$result = Yii::$app->redis->keys(self::calculateKey('*'));
|
||||
$result = Yii::$app->redis->keys('*');
|
||||
$output = ['*'];
|
||||
foreach ($result as $val)
|
||||
{
|
||||
@@ -258,7 +253,7 @@ class RedisCache
|
||||
{
|
||||
self::deleteAll($type);
|
||||
$type = $type == "*" ? "*" : "{$type}:*";
|
||||
$result = Yii::$app->redis->keys(self::calculateKey($type));
|
||||
$result = Yii::$app->redis->keys($type);
|
||||
foreach ($result as $val)
|
||||
{
|
||||
self::deleteAll(str_replace(self::prefix(), '', $val));
|
||||
@@ -280,7 +275,7 @@ class RedisCache
|
||||
{
|
||||
$options = ['EX' => $options];
|
||||
}
|
||||
Yii::$app->redis->set(self::calculateKey($key), json_encode($value) .' '. implode(' ', $options));
|
||||
Yii::$app->redis->set($key, json_encode($value), $options);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
@@ -313,7 +308,7 @@ class RedisCache
|
||||
$result = false;
|
||||
if (self::getActive())
|
||||
{
|
||||
$result = json_decode(Yii::$app->redis->get(self::calculateKey($key)), true);
|
||||
$result = json_decode(Yii::$app->redis->get($key), true);
|
||||
}
|
||||
return $result === null ? false : $result;
|
||||
}
|
||||
@@ -380,14 +375,14 @@ class RedisCache
|
||||
*/
|
||||
public static function oldCacheDelete()
|
||||
{
|
||||
$result = Yii::$app->redis->keys(self::calculateKey('del:*'));
|
||||
$result = Yii::$app->redis->keys('del:*');
|
||||
foreach ($result as $val)
|
||||
{
|
||||
$cursor = 0;//null;
|
||||
$key = str_replace(self::prefix(), '', $val);
|
||||
$pattern = '*';
|
||||
$arKeys = [];
|
||||
while ($values = Yii::$app->redis->hscan(self::calculateKey($key), $cursor, $pattern))
|
||||
while ($values = Yii::$app->redis->hscan($key, $cursor, $pattern))
|
||||
{
|
||||
foreach ($values as $vkey => $value)
|
||||
{
|
||||
|
Reference in New Issue
Block a user