2 implementations are available
This is not scalable and is limited to a single process, since it is in memory
It is low latency, however due to the locking mechanism it will slow down performance
This can be scaled across processes
We depend on the Redis server to maintain sanity of data and expire the keys appropriately
This is a better for a more scalable solution like any webserver
To test the Redis Limiter, run the associated docker-compose independently
Then simply pytest