mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-06-23 20:00:27 +08:00
使用ttl方法来取代exist判断键值是否存在
This commit is contained in:
parent
5d96cd0f8c
commit
a5cca0e899
@ -186,6 +186,23 @@ class Redis extends \Phalcon\Cache\Backend\Redis
|
|||||||
return (bool)$redis->exists($lastKey);
|
return (bool)$redis->exists($lastKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $keyName
|
||||||
|
* @return int|bool
|
||||||
|
*/
|
||||||
|
public function ttl($keyName = null)
|
||||||
|
{
|
||||||
|
$redis = $this->getRedis();
|
||||||
|
|
||||||
|
if ($keyName === null) {
|
||||||
|
$lastKey = $this->_lastKey;
|
||||||
|
} else {
|
||||||
|
$lastKey = $this->getKeyName($keyName);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $redis->ttl($lastKey);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*
|
*
|
||||||
|
@ -19,18 +19,18 @@ class Throttle extends Service
|
|||||||
|
|
||||||
$cacheKey = $this->getCacheKey($sign);
|
$cacheKey = $this->getCacheKey($sign);
|
||||||
|
|
||||||
|
if ($cache->ttl($cacheKey) < 1) {
|
||||||
|
$cache->save($cacheKey, 0, $config->path('throttle.lifetime'));
|
||||||
|
}
|
||||||
|
|
||||||
$rateLimit = $cache->get($cacheKey);
|
$rateLimit = $cache->get($cacheKey);
|
||||||
|
|
||||||
if ($rateLimit) {
|
if ($rateLimit >= $config->path('throttle.rate_limit')) {
|
||||||
if ($rateLimit >= $config->path('throttle.rate_limit')) {
|
return false;
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
$cache->increment($cacheKey, 1);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$cache->save($cacheKey, 1, $config->path('throttle.lifetime'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$cache->increment($cacheKey, 1);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user