Whitney Jackson > AnyEvent-Hiredis-0.02 > AnyEvent::Hiredis

Download:
AnyEvent-Hiredis-0.02.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.02   Source   Latest Release: AnyEvent-Hiredis-0.03

NAME ^

AnyEvent::Hiredis - AnyEvent hiredis API

SYNOPSIS ^

  use AnyEvent::Hiredis;

  my $redis = AnyEvent::Hiredis->new(
      host => '127.0.0.1',
      port => 6379,
  );

  $redis->command( [qw/SET foo bar/], sub { warn "SET!" } );
  $redis->command( [qw/GET foo/, sub { my $value = shift } );

  $redis->command( [qw/LPUSH listkey value/] );
  $redis->command( [qw/LPOP listkey/], sub { my $value = shift } );

  # errors
  $redis->command( [qw/SOMETHING WRONG/, sub { my $error = $_[1] } );

DESCRIPTION ^

AnyEvent::Hiredis is an AnyEvent Redis API that uses the hiredis C client library (https://github.com/antirez/hiredis).

PERFORMANCE ^

One reason to consider AnyEvent::Hiredis over its pure Perl counterpart AnyEvent::Redis is performance. Here's a head to head comparison of the two modules running on general purpose hardware:

                       Rate     ae_redis  ae_hiredis
    AnyEvent::Redis    7590/s   --        -89%
    AnyEvent::Hiredis 69400/s   814%      --

Rate here is the number of set operations per second achieved by each module. See bin/compare.pl for details.

METHODS ^

new

  my $redis = Redis->new; # 127.0.0.1:6379

  my $redis = Redis->new(server => '192.168.0.1', port => '6379');

command

command takes an array ref representing a Redis command and a callback. When the command has completed the callback is executed and passed the result or error.

  $redis->command( ['SET', $key, 'foo'], sub {
      my ($result, $error) = @_;

      $result; # 'OK'
  });

  $redis->command( ['GET', $key], sub {
      my ($result, $error) = @_;

      $result; # 'foo'
  });

If the Redis server replies with an error then $result will be undef and $error will contain the Redis error string. Otherwise $error will be undef.

REPOSITORY ^

http://github.com/wjackson/anyevent-hiredis

AUTHORS ^

Whitney Jackson

Jonathan Rockway

SEE ALSO ^

Redis, Hiredis::Async, AnyEvent::Redis

syntax highlighting: