David Leadbeater > Protocol-Redis-XS-0.05 > Protocol::Redis::XS

Download:
Protocol-Redis-XS-0.05.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.05   Source  

NAME ^

Protocol::Redis::XS - hiredis based parser compatible with Protocol::Redis

SYNOPSIS ^

  use Protocol::Redis::XS;
  my $redis = Protocol::Redis::XS->new;
  $redis->parse("+OK\r\n");
  $redis->get_message;

DESCRIPTION ^

This provides a fast parser for the Redis protocol using the code from hiredis and with API compatibility with Protocol::Redis.

(If you've found yourself here just looking to use Redis in Perl: This is a low level parsing module, you probably want to look at the modules mentioned in "SEE ALSO" first.)

METHODS ^

As per Protocol::Redis, API version 1.

parse($string)

Parse a chunk of data (calls "on_message" callback if defined and a complete message is received).

get_message

Return a message. This is a potentially nested data structure, for example as follows:

  {
    type => '*',
    data => [
      {
        type => '$',
        data => 'hello'
      }
    ]
  }

on_message

Set callback for "parse".

THREADS ^

This module will work on a threaded perl and will work with threads, however instances of Protcol::Redis should not be shared between threads.

SUPPORT ^

IRC

#redis on irc.perl.org

DEVELOPMENT ^

See github: https://github.com/dgl/protocol-redis-xs.

Developer note, hiredis is pulled in via a git submodule, run:

 git submodule update --init

to make the development version buildable.

AUTHOR ^

David Leadbeater <dgl@dgl.cx>

With thanks to Sergey Zasenko <undef@cpan.org> for the original Protocol::Redis and defining the API.

COPYRIGHT AND LICENSE ^

Copyright (C) 2011 David Leadbeater.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

The hiredis library included in this distribution has a seperate license (3 clause BSD). See hiredis/COPYING.

SEE ALSO ^

Redis, Redis::hiredis, AnyEvent::Redis, Protocol::Redis.

syntax highlighting: