Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Nice project, but for other readers, please don't use this in production. There is almost no error handling whatsoever going on: for example, see https://github.com/0verread/goralim/blob/main/goralim.go#L36. What happens if the redis calls in this function fail? If the Get here https://github.com/0verread/goralim/blob/main/goralim.go#L58 fails, for example if your redis connection dies, the code will always return false.
The code in the README will also result in a panic if the connection to the redis client fails.
Consider using https://github.com/go-redis/redis_rate (which implements leaky bucket/GCRA) or https://github.com/ulule/limiter (which implements a much more basic rate limiting algorithm, but has good middleware support) instead.
Nice project, but for other readers, please don't use this in production. There is almost no error handling whatsoever going on: for example, see https://github.com/0verread/goralim/blob/main/goralim.go#L36. What happens if the redis calls in this function fail? If the Get here https://github.com/0verread/goralim/blob/main/goralim.go#L58 fails, for example if your redis connection dies, the code will always return false.
The code in the README will also result in a panic if the connection to the redis client fails.
Consider using https://github.com/go-redis/redis_rate (which implements leaky bucket/GCRA) or https://github.com/ulule/limiter (which implements a much more basic rate limiting algorithm, but has good middleware support) instead.
Nice project, but for other readers, please don't use this in production. There is almost no error handling whatsoever going on: for example, see https://github.com/0verread/goralim/blob/main/goralim.go#L36. What happens if the redis calls in this function fail? If the Get here https://github.com/0verread/goralim/blob/main/goralim.go#L58 fails, for example if your redis connection dies, the code will always return false.
The code in the README will also result in a panic if the connection to the redis client fails.
Consider using https://github.com/go-redis/redis_rate (which implements leaky bucket/GCRA) or https://github.com/ulule/limiter (which implements a much more basic rate limiting algorithm, but has good middleware support) instead.