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
(<http://code.google.com/p/redis/wiki/CommandReference>) lists all
commands Redis supports.
REQUIREMENTS
This requires Redis >= 1.2.
COPYRIGHT
Tatsuhiko Miyagawa <miyagawa@bulknews.net> 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