php基于文件存取实现单位时间内执行次数限制的限流代码
代码语言:phpcli
所属分类:其他
代码描述:php基于文件存取实现单位时间内执行次数限制的限流代码
代码标签: php 基于 文件 存取 单位 时间 内 执行 次数 限制 限流 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<?php class FileRateLimiter { private $maxRequests; private $timeWindow; private $filePath; public function __construct($maxRequests, $timeWindow, $filePath) { $this->maxRequests = $maxRequests; $this->timeWindow = $timeWindow; $this->filePath = $filePath; } public function isAllowed($userId) { $currentTime = time(); $data = $this->readData(); // 清除过期的请求记录 if (isset($data[$userId])) { $data[$userId] = array_filter($data[$userId], function($timestamp) use ($currentTime) { return $timestamp > ($currentTime - $this->timeWindow); }); } else { $data[$userId] = []; } // 检查当前时间窗口内的请求数量 if (count($data[$userId]) < $this->maxRequests) { // 记录当前请求 $data[$userId][] = $currentTime;.........完整代码请登录后点击上方下载按钮下载查看
网友评论0