Laravel
1、方法
namespace App\Utils;
use Illuminate\Support\Facades\Redis;
class RequestUtils
{
public static function dayLimit($key, $times)
{
$date = date('Ymd');
$key .= $date;
$redisClient = Redis::connection()->client();
$exists = $redisClient->exists($key);
if (!$exists) {
$redisClient->setnx($key, 0);
}
$requestTimes = $redisClient->incrBy($key, 1);
if ($requestTimes > $times) {
return true;
} else {
return false;
}
}
}
2、使用
$limitTimes = 10;
if (RequestUtils::dayLimit("refund", $limitTimes)) {
return ResponseUtils::error("今日API请求次数已达到限制");
}