lajouizakariae/rate-limiter

此包的最新版本(0.0.2)没有提供许可证信息。

使用 Php 编写的速率限制器

0.0.2 2024-03-18 21:58 UTC

This package is auto-updated.

Last update: 2024-09-19 19:09:06 UTC


README

简介

此包是一个速率限制器,允许您为每(分钟、小时或任何数量的秒)定义一个限制。它提供了不同的方法,允许您定义、删除、增加速率。

安装

composer require lajouizakariae/rate-limiter

基本用法

use RateLimiter\RateLimiter;

$rateLimiter = new RateLimiter([
    'storage' => "file",
    'path' => "storage/cache",
]);

$rateLimiter->limitHourly('user:one', 3);

if ($rateLimiter->tooManyAttempts('user:one')) {
    # Do Something
}

$rateLimiter->hit('user:one');

创建速率限制器

您可以通过实例化 RateLimiter 类来创建速率限制器,唯一必需的参数是一个关联数组。

您需要定义将使用哪种类型的存储,目前此包仅支持文件系统存储。

如果您选择在文件系统中保存速率限制器的数据,您需要提供一个路径键,以显示速率限制器应将数据存储在哪里。

如果目录不存在,它将为您创建。

注意:路径应该是保存数据的目标目录的绝对路径。