Rate limiting can be an effective way of conserving resources and preventing automated or nefarious activities on your site.
The key issues to address when designing a solution are:
- How do we incorporate time given that it’s a continuous variable?
- How can we efficiently expire old data?
- How can we scale the solution so that it can handle many hundreds of subjects and/or actions per second?
Chris O’Hara explains how each of these has a good answer in Redis’ features.
Original title and link: Rate Limiting With Redis (NoSQL databases © myNoSQL)