GitHub Readme.md
This app has been build using exoress-rate-limit
and rate-limit-redis
library which will block connections from a client after surpassing certain amount of requests (default: 10) per time (default: 10 sec)
The application will return after each request the following headers. That will let the user know how many requests they have remaining before the run over the limit.
X-RateLimit-Limit: 10
X-RateLimit-Remaining: 9
On the 10th run server should return an HTTP status code of 429 Too Many Requests
"PEXPIRE", "MULTI", "DEL", "PTTL", "EXEC", "DECR", "INCR"
git clone https://github.com/redis-developer/basic-redis-rate-limiting-demo-nodejs/
# copy file and set proper data inside
cp .env.example .env
# install dependencies
npm install
# run docker compose or install redis manually
docker network create global
docker-compose up -d --build
npm run dev
redis://
or without.redis://
or without.To make deploys work, you need to create free account in https://redislabs.com/try-free/ and get Redis' instance informations - REDIS_ENDPOINT_URI and REDIS_PASSWORD. You must pass them as environmental variables (in .env file or by server config, like Heroku Config Variables
).