mirror of
https://github.com/internetee/registry.git
synced 2025-08-03 16:32:04 +02:00
Move throttling feature from gem back to the app
This commit is contained in:
parent
83413213d9
commit
f17ef17d16
9 changed files with 230 additions and 2 deletions
29
app/lib/shunter/adapters/redis.rb
Normal file
29
app/lib/shunter/adapters/redis.rb
Normal file
|
@ -0,0 +1,29 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Shunter
|
||||
module Adapters
|
||||
class Redis
|
||||
attr_reader :redis
|
||||
|
||||
def initialize(options)
|
||||
@redis = ::Redis.new(options)
|
||||
end
|
||||
|
||||
def find_counter(key)
|
||||
@redis.get(key)
|
||||
end
|
||||
|
||||
def write_counter(key)
|
||||
@redis.set(key, 1)
|
||||
end
|
||||
|
||||
def increment_counter(key)
|
||||
@redis.incr(key)
|
||||
end
|
||||
|
||||
def expire_counter(key, timespan)
|
||||
@redis.expire(key, timespan)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue