@extensis/rate-limit-redis
v1.5.2
Published
Provides a Redis store for the express-rate-limit RateLimit middleware.
Downloads
238
Maintainers
Keywords
Readme
Rate Limit Redis
Redis client for the express-rate-limit middleware.
Install
$ npm install --save rate-limit-redis
Usage
var RateLimit = require('express-rate-limit');
var RedisStore = require('rate-limit-redis');
var limiter = new RateLimit({
store: new RedisStore({
// see Configuration
}),
max: 100, // limit each IP to 100 requests per windowMs
delayMs: 0 // disable delaying - full speed until the max limit is reached
});
// apply to all requests
app.use(limiter);
Configuration
- expiry: seconds - how long each rate limiting window exists for. Defaults to
60
. - resetExpiryOnCount: number - if the rate limiting count is greater than this number, the expiry time should be reset every time a key is incremented/decremented. This means that when the limit is reached and the user is given a 429 response, the rate limit window is extended. Defaults to
0
. - prefix: string - prefix to add to entries in Redis. Defaults to
rl:
. - client: Redis Client or ioredis Client- A Redis Client to use. Defaults to
require('redis').createClient();
.
License
MIT © Wyatt Johnson, Nathan Friedly