Touch/Increase Laravel Redis 节流

Touch/Increase Laravel Redis Throttle

我使用 Laravel 中的 Redis Throttle 进行某些 API 通信,例如:

Redis::throttle('key')
                ->block(0)->allow(100)->every(5)
                ->then(function () use ($job, $next) {    
                 // do stuff
                }, function () use ($job) {
                   $job->release(5);
                });
    }

但是在系统的其他部分(现在还没有完全重构)我需要踩下油门(标记我使用过)而不真正阻塞调用。

我该怎么做?谢谢

密钥以散列形式存储在redis 数据库中。如果我的密钥被命名为“密钥”,它存储在 app_name_database_key 上并具有以下格式

redis:6379> HGETALL app_name_database_key

1) "start"
2) "1592994588"
3) "end"
4) "1592994688"
5) "count"
6) "12"

因此 Redis Facade 无需调整前缀即可访问它。

>>> Illuminate\Support\Facades\Redis::hget('key', 'count');
=> "10"

同样可以增加它

>>> Illuminate\Support\Facades\Redis::hincrby('key', 'count', 1);
=> 11