@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
或者false
true
callback=""
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
次