leychan / rate-limiter
此包的最新版本(v0.0.1)没有可用的许可信息。
基于php和redis的速率限制器
v0.0.1
2023-11-24 07:38 UTC
Requires
- ext-redis: *
This package is not auto-updated.
Last update: 2024-09-24 13:52:18 UTC
README
php-rate-limiter是一个基于php和redis的速率限制器
安装
composer require leychan/php-rate-limiter
使用
require_once __DIR__ . '/../vendor/autoload.php'; use Leychan\RateLimiter\RateLimiter; use Leychan\RateLimiter\RedisClientOpt; use Leychan\RateLimiter\SlideWindowOpt; $redisClientOpt = (new RedisClientOpt())->setHost('127.0.0.1')->setPort(6379); // 设置窗口大小以及阈值,key为redis的key,统计窗口内的请求数 // 每 1000000 ms 内允许的请求数为 5 $slideWindowOpt = (new SlideWindowOpt())->setWindowSize(100000)->setThreshold(5)->setKey('test2222'); for ($i = 0; $i < 20; $i++) { $rateLimiter = new RateLimiter( $redisClientOpt, $slideWindowOpt->setUniqueId($i) ); var_dump($rateLimiter->check()); }