php+redis服务器限流(适合小型公司)
/**
* 服务器限流
*
* @return void
*/
public function index()
{
// 有某一个场景,某一个API会去请求mysql,这个mysql主要是写的操作
// 但是mysql qbs 写 只能抗 500 该如何做
// 限流策略 500内的请求,放行。 之外的请求,给出提示请稍后重试。
$key = "mysql_qbs_limit_".time();
$val = Cache::inc($key);
if($val <= 500){
// 放行代码
return $val;
}else {
// 给出提示 '请稍后重试'
return 0;
}
}
一般大公司是用niginx+lua+redis来做的,这个性能要高于上面这个。