Redis rate limiter for Node.js
Rate limit for Node.js, with ioredis client
Installationnpm install @aftership/rate-limiter
Dependency
The client must be an instance of ioredis
library.
const Limiter = require('@aftership/rate-limiter'); const Redis = require('ioredis'); const redisClient = new Redis({ port: 6379, host: '127.0.0.1', db: 0 }); redisClient.on('connect', (err) => { if (err) { console.log(err); return; } // limit to 2 request per every 10s const limiter = new Limiter({ redisClient, key: 'the-user-api-key', limit: 2, // default is 10 duration: 10 // default is 60s }); limiter .get() .then((result) => { console.log(result); if (result.remaining >= 0) { console.log('I can do the request!'); } else { console.log(`I run out of limit! Try again after ${result.reset} second.`); } process.exit(0); }) .catch((e) => { console.log(e); }); }); Change log
Please refer to release page
LicenseCopyright (c) 2019 AfterShip
Licensed under the MIT license.
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。