express-redis-sliding-limiter
v1.0.0
Published
High-performance Express sliding-window rate limiter using Redis Lua scripts.
Readme
express-rate-limit-redis-sliding
A high-performance Express rate-limiting middleware using Redis Atomic Lua scripts and a sliding-window algorithm.
Installation
npm install express-rate-limit-redis-sliding ioredisUsage
import express from 'express';
import Redis from 'ioredis';
import { rateLimit } from 'express-rate-limit-redis-sliding';
const app = express();
const redis = new Redis();
const limiter = rateLimit({
redis,
windowMs: 60 * 1000, // 1 minute
max: 100, // 100 requests per window
});
app.use(limiter);
app.get('/api', (req, res) => {
res.send({ status: 'OK' });
});
app.listen(3000);
