yii2 分布式锁setnx 限制用户狂刷数据
/**
* redis锁限制,手速为1秒
* $expire 锁有效期,过期时间
* $key 用户key值
* $expire 锁有效期、几秒请求一次
*/
public static function lockLimit($key,$expire=1){
$redis=Yii::$app->redis;
$lock_result = $redis->setnx($key,1);
//判断不是空直接中断本次操作
if (!$lock_result) {
return '手速太快';
}else{
$redis->expire($key, $expire);
}
}
可有效防止用户机刷获得更多收益