diff options
Diffstat (limited to '')
-rw-r--r-- | lib/Plack/Middleware/APIRateLimit/Backend/Redis.pm | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/lib/Plack/Middleware/APIRateLimit/Backend/Redis.pm b/lib/Plack/Middleware/APIRateLimit/Backend/Redis.pm index e647f6a..2bb6251 100644 --- a/lib/Plack/Middleware/APIRateLimit/Backend/Redis.pm +++ b/lib/Plack/Middleware/APIRateLimit/Backend/Redis.pm @@ -3,41 +3,40 @@ package Plack::Middleware::APIRateLimit::Backend::Redis; use Moose; extends 'Plack::Middleware::APIRateLimit::Backend'; -use AnyEvent::Redis; +use Redis; has store => ( is => 'rw', - isa => 'AnyEvent::Redis', + isa => 'Redis', lazy => 1, default => sub { - return AnyEvent::Redis->new( - host => '127.0.0.1', - port => 6378, + return Redis->new( + server => '127.0.0.1:6379' ); } ); sub BUILD { - my $self = shift; - if (scalar @_) { - $self->store(AnyEvent::Redis->new(@_)); + my ( $self, $opt ) = @_; + if ($opt) { + $self->store( Redis->new(%$opt) ); } return $self; } sub get { my ( $self, $key ) = @_; - my $val = $self->store->get($key)->recv; - if ( !$val ) { - $self->store->set( $key => 1 )->recv; - $val = 1; - } - return $val; + $self->store->get($key); +} + +sub set { + my ($self, $key, $value) = @_; + $self->store->set($key, $value); } sub incr { - my ($self, $key) = @_; - return $self->store->incr($key)->recv; + my ( $self, $key ) = @_; + $self->store->incr($key); } 1; |