@Limit()注解,主要用于对路由进行路由限流器注册。
该注解,共支持6个参数设置。
注意:若需要启用路由限流器,需要先在/config/limit.php配置文件中,将对应的limit_switch参数,改为true。
场景:对路由进行路由限流器注册。
支持:HTTP(2.5.5起)、WebSocket(2.5.5起)、Rpc(2.5.5起)
注解:@Limit()
参数:
peak=""
time=""
/config/limit.php配置项start=""
/config/limit.php配置项false代表不限制时间end=""
/config/limit.php配置项false代表不限制时间status=""
true或者falsetruecallback=""
peak峰值时,系统调用的回调处理类。/config/limit.php配置项一个完整的HTTP服务路由限流注解大概如下:
<?php
namespace app\http;
use x\controller\Http;
class Index extends Http
{
/**
* @RequestMapping(route="/test", method="GET", title="我是测试路由")
* @Limit(peak="50", time="5", start="09 10:20", end="23 23:30")
*/
public function param() {
return $this->fetch('测试@Limit()注解');
}
}
上面的@Limit()注解,可以解释为:
/test在5秒内,最大被请求次数不能大于50次
SW-X