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
我使用 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