PHPackages                             mu/redis-limiter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Caching](/categories/caching)
4. /
5. mu/redis-limiter

ActiveLibrary[Caching](/categories/caching)

mu/redis-limiter
================

基于Redis的限流器

v1.0.0(6y ago)013PHP

Since Aug 8Pushed 6y ago1 watchersCompare

[ Source](https://github.com/Sparkinzy/redis-limiter)[ Packagist](https://packagist.org/packages/mu/redis-limiter)[ RSS](/packages/mu-redis-limiter/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

使用方式
====

[](#使用方式)

添加redis配置
---------

[](#添加redis配置)

```
$redisConf = [
	'host' => '127.0.0.1',
	'port' => 16379,
	'auth' => ''
];
Limit::setRedisConf($redisConf);
```

配置限流规则
------

[](#配置限流规则)

```
Limit::getInstance()->addItem('default')->setMax('1r/s');
```

addItem() 配置的是限流的key

setMax() 配置的是限流规则，类似nginx限流规则

- 1r/s 表示每秒限一次
- 1r/m 每分钟一次
- 1r/h 每小时一次
- 1r/d 每天一次

3.实际项目中检查是否符合限流
---------------

[](#3实际项目中检查是否符合限流)

```
if (Limit::isAllow('default')){
    echo '成功',PHP_EOL;
}else{
    echo '失败',PHP_EOL;
}
```

完整demo
======

[](#完整demo)

```
require_once __DIR__.'/vendor/autoload.php';
use Mu\Juyuan\Limit;
$redisConf = [
	'host' => '127.0.0.1',
	'port' => 16379,
	'auth' => ''
];
Limit::setRedisConf($redisConf);
Limit::getInstance()->addItem('default')->setMax('1r/s');
for ($i=0;$i
