Request rate limiting using Predis.
Licensed under MIT. Totally free for private or commercial projects.
composer require andrewdyer/predis-request-limiter
// Create new predis client instance
$predis = new Predis\Client();
// Create new limiter instance
$limiter = new Anddye\PredisRequestLimiter\Limiter($predis, 100);
$limiter->setRateLimit(10, 30)
->setStorageKey('api:limit:%s');
if ($limiter->hasExceededRateLimit()) {
// Too many requests has been made, display error message
} else {
$limiter->incrementRequestCount();
}
If you are having any issues with this library, then please feel free to contact me on Twitter.
If you think you've found an bug, please report it using the issue tracker, or better yet, fork the repository and submit a pull request.
If you're using this package, I'd love to hear your thoughts!