/**
* 控制请求频率,防止并发重复请求
* @param int $user
* @param int $duration
* @throws Exception
* @throws \yii\base\InvalidConfigException
*/
public static function checkFrequency($user = 0, $duration = 2, $msg = '操作过于频繁') {
$key = "REQUEST_FREQUENCY_" . $user;
if (empty($user)) {
$ip = Functions::getRemoteIp();
$key = "REQUEST_FREQUENCY_" . $ip;
}
$redis = \Yii::$app->get("redis");
$lock = $redis->set($key, 1, 'EX', $duration, "NX");
if ($lock !== true) {
throw new Exception($msg);
}
}
01-24
1202
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交