Skip to content

m7mdkamal/global-rate-limiter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

global-rate-limiter

A fixed window rate limiter

Installation

go get github.com/m7mdkamal/global-rate-limiter

Usage

func main() {
    redisClient := redis.NewClient(&redis.Options{})

    rateLimiter := ratelimiter.NewRateLimiter(redisClient, time.Hour, 1000) // 1000 request per 1 hour

    _ = rateLimiter.Incr() // returns error on limit reached
}

Todo

  • Configure redis prefix
  • Write tests
  • Write redis scripts in lua

About

A fixed window rate limiter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages