ThinkPHP6 限制访问频率,Redis版,支持毫秒缓存
2026/5/9 8:31:36 网站建设 项目流程

ThinkPHP6 限制访问频率,Redis版,支持毫秒级缓存,适用于项目的api接口限制访问频率

前言

针对 “ThinkPHP6 限制访问频率,Cache版”做的升级,有需要的直接拿去复用就好,非常方便。

其他框架可以参考
PHP 限制访问频率,Redis 通用不限制PHP框架版,支持毫秒缓存

首先我们要设置ThinkPHP6的Cache缓存方式

文件路径:config/cache.php

cache.php代码

return[// 默认缓存驱动'default'=>env('cache.driver','redis'),// 缓存连接方式配置'stores'=>['file'=>[// 驱动方式'type'=>'File',// 缓存保存目录'path'=>'',// 缓存前缀'prefix'=>'',// 缓存有效期 0表示永久缓存'expire'=>0,// 缓存标签前缀'tag_prefix'=>'tag:',// 序列化机制 例如 ['serialize', 'unserialize']'serialize'=>[],],// 更多的缓存连接'redis'=>['type'=>'redis',// 驱动方式'host'=>'127.0.0.1',// 服务器地址'select'=>0,//选择库'port'=>6379,// 端口'password'=>'password0000',// 密码],],];

使用注意事项:

①系统需要安装Redis

②启用php redis扩展

限制访问频率代码如下,仅供参考

/** * 检测用户接口访问频率 * $action 字符串 自定义,建议使用 模块方法名称 * $ttl 正整数 秒,默认1秒 * $uid 用户ID,针对某个用户的ID的限制 * **/functionapi_visits($action,$ttl=500,$uid=''){$key="user_{$uid}_api_{$action}";$visits=Cache::get($key);if($visits){returnfalse;}else{Cache::psetex($key,$ttl,1);//缓存500毫秒returntrue;}}//使用方式:$uid=66;$ttl=500;$visitsRes=api_visits('login_verify',$ttl,$uid);if($visitsRes)return$this->error('接口访问频繁,请稍后再试');return$this->success('Success');

总结

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询