NAME AnyEvent::Redis - Non-blocking Redis client SYNOPSIS use AnyEvent::Redis; my $redis = AnyEvent::Redis->new( host => '127.0.0.1', port => 6379, on_error => sub { warn @_ }, ); # callback based $redis->set( 'foo'=> 'bar', sub { warn "SET!" } ); $redis->get( 'foo', sub { my $value = shift } ); my ($key, $value) = ('list_key', 123); $redis->lpush( $key, $value ); $redis->lpop( $key, sub { my $value = shift }); # condvar based my $cv = $redis->lpop( $key ); $cv->cb(sub { my $value = $_[0]->recv }); DESCRIPTION AnyEvent::Redis is a non-blocking Redis client using AnyEvent. METHODS All methods supported by your version of Redis should be supported. Normal commands There are two alternative approaches for handling results from commands. * AnyEvent::CondVar based: my $cv = $redis->command( # arguments to command ); $cv->cb(sub { my($cv) = @_; my($result, $err) = $cv->recv }); * Callback: $redis->command( # arguments, sub { my($result, $err) = @_; }); (Callback is a wrapper around the $cv approach.) Subscriptions The subscription methods ("subscribe" and "psubscribe") must be used with a callback: my $cv = $redis->subscribe("test", sub { my($message, $channel[, $actual_channel]) = @_; # ($actual_channel is provided for pattern subscriptions.) }); The $cv condition will be met on unsubscribing from the channel. Due to limitations of the Redis protocol the only valid commands on a connection with an active subscription are subscribe and unsubscribe commands. Common methods * get * set * hset * hget * lpush * lpop The Redis command reference () lists all commands Redis supports. REQUIREMENTS This requires Redis >= 1.2. COPYRIGHT Tatsuhiko Miyagawa 2009- LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. AUTHORS Tatsuhiko Miyagawa David Leadbeater Chia-liang Kao franck cuny Lee Aylward Joshua Barratt Jeremy Zawodny Leon Brocard SEE ALSO Redis, AnyEvent