承接 kkong/rate-limiter 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kkong/rate-limiter

Composer 安装命令:

composer require kkong/rate-limiter

包简介

a demo rate-limiter

README 文档

README

composer安装

composer require kkong/rate-limiter

将源码下载放置到代码目录,然后在需要使用的代码里引用,或在入口文件里引用

require 'RateLimiter/vendor/Autoloader.php';

是什么?

一个简单的限流器demo

节流策略

目前有3种节流方式,TimeWindow、SlidingTimeWindow和TokenBucket

$client = new \Predis\Client([
    'host'   => '127.0.0.1',
    'port'   => 6379,
]);
//定义实现了StorageInterface的示例
$storage = new \Kkong\RateLimiter\Storage\Redis($client);

/**
 * 自然天,每天限制1000次
 */
$timeWindow = new \Kkong\RateLimiter\Strategy\TimeWindowStrategy($storage);
$timeWindow->attempt('key', 1000, 86400000);

/**
 * 每10秒限制100次
 */
$slidingWindow = new \Kkong\RateLimiter\Strategy\SlidingWindowStrategy($storage);
$slidingWindow->attempt('key', 1000, 10);

/**
 * 总令牌容量1000,每秒补充10个令牌
 */
$tokenBucket = new \Kkong\RateLimiter\Strategy\TokenBucketStrategy($storage);
$tokenBucket->attempt('key', 1000, 10);

存储引擎

暂时只提供1个储存引擎,如果需要继续扩展,需要继承StorageInterface并实现相应的方法

  • Redis

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-05-17