ThinkPHP6 限制访问频率,Cache版

这篇博客介绍了如何在ThinkPHP6框架下,利用Cache实现小项目API接口的访问频率限制,以减轻服务器负载。提供了一个简单的`api_visits`函数,通过设置缓存来判断用户是否超出访问限制。该方法适用于配置较低的服务器环境。
摘要由CSDN通过智能技术生成

ThinkPHP6 限制访问频率,Cache版,适用于小项目的api接口限制访问频率

前言

最近在开发的一个小项目,由于客户的服务器配置和带宽都比较小,特做了个简易版的访问频率限制

ThinkPHP6框架,毫秒缓存参考这里 ThinkPHP6 限制访问频率,Redis版,支持毫秒缓存

原生或其他框架毫秒缓存参考这里 PHP 限制访问频率,Redis 通用不限制PHP框架版,支持毫秒缓存

实现代码如下,仅供参考



/**
* 检测用户接口访问频率
* $action 字符串 自定义,建议使用 模块方法名称
* $ttl 正整数 秒,默认1秒
* $uid 用户ID,针对某个用户的ID的限制
* 
**/

function api_visits($action,$ttl=1,$uid='')
{


    $key = "user_{$uid}_api_{$action}";

    $visits = Cache::get($key);

    if($visits){

        return false;

    }else{

        Cache::set($key, 1, $ttl);

        return true;

    }

}

使用方式:


$uid = 66;

$ttl = 1;

$visitsRes = api_visits('login_verify',$ttl,$uid);

if($visitsRes)
	return $this->error('接口访问频繁,请在'.$ttl.'秒之后再试');

return $this->success('Success');

总结

以上就是ThinkPHP 限制访问频率的 Cache版实现过程,希望对需要的同学有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

upcto

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>