0

My large-scale web application currently uses Python Flask rate-limiter. I have several Amazon EC2 instances running the application. And the Flask rate-limiter relies on Redis instances I have setup. I'm using Redis 3.0.

I'm interested in replacing my Redis instances with Amazon Elasticache For Redis. Elasticache supports Redis 2.8. So I will be downgrading from Redis 3.0.

Does Flask rate-limiter use any features found in Redis 3.0 that are not found in Redis 2.8? If not, I should not run into any trouble. But the Flask Rate-limiter documentation doesn't say what version of Redis it requires/uses.

Saqib Ali
  • 11,931
  • 41
  • 133
  • 272

1 Answers1

1

Flask limiter depends on limits module as seen here:

https://github.com/alisaifee/flask-limiter/blob/master/flask_limiter/extension.py#L12

from limits.storage import storage_from_string, MemoryStorage
from limits.strategies import STRATEGIES

The limits module: just implements get,set,incr operations of redis or memcached.

Redis 2.8 and Redis 3.0 are exactly the same in these basic operations.

The only thing you will miss by downgrading to 2.8 is non-availability of redis cluster features, which are not of user in a small data requirement case like throttling.

DhruvPathak
  • 42,059
  • 16
  • 116
  • 175