David Leadbeater > AnyEvent-Redis-0.23 > AnyEvent::Redis

Download:
AnyEvent-Redis-0.23.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.23   Source   Latest Release: AnyEvent-Redis-0.24

NAME ^

AnyEvent::Redis - Non-blocking Redis client

SYNOPSIS ^

  use AnyEvent::Redis;

  my $redis = AnyEvent::Redis->new(
      host => '127.0.0.1',
      port => 6379,
      encoding => 'utf8',
      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 (event-driven) Redis client.

This module is an AnyEvent user; you must install and use a supported event loop.

ESTABLISHING A CONNECTION ^

To create a new connection, use the new() method with the following attributes:

host => <HOSTNAME>

Required. The hostname or literal address of the server.

port => <PORT>

Optional. The server port.

encoding => <ENCODING>

Optional. Encode and decode data (when storing and retrieving, respectively) according to ENCODING ("utf8" is recommended or see Encode::Supported for details on possible ENCODING values).

Omit if you intend to handle raw binary data with this connection.

on_error => $cb->($errmsg)

Optional. Callback that will be fired if a connection or database-level error occurs. The error message will be passed to the callback as the sole argument.

METHODS ^

All methods supported by your version of Redis should be supported.

Normal commands

There are two alternative approaches for handling results from commands:

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

The Redis command reference (http://redis.io/commands) 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

Michael S. Fischer

SEE ALSO ^

Redis, AnyEvent

syntax highlighting: