NAME
    Net::Riak - Interface to Riak

VERSION
    version 0.15

SYNOPSIS
        # REST interface
        my $client = Net::Riak->new(
            host => 'http://10.0.0.40:8098',
            ua_timeout => 900,
            disable_return_body => 1
        );

        # Or PBC interface.
        my $client = Net::Riak->new(
            transport => 'PBC',
            host => '10.0.0.40',
            port => 8080
        );

        my $bucket = $client->bucket('blog');
        my $obj    = $bucket->new_object('new_post', {title => 'foo', content => 'bar'});
        $obj->store;

        $obj = $bucket->get('new_post');
        say "title for ".$obj->key." is ".$obj->data->{title};

        # When using the REST client you may access the last request and response.

        my $req = $client->http_request; # last request
        $client->http_response # last response

DESCRIPTION
  ATTRIBUTES
    host
        REST: The URL of the node

        PBC: The hostname of the node

        default 'http://127.0.0.1:8098'

        Note that providing multiple hosts is now deprecated.

    port
        Port of the PBC interface.

    transport
        Used to select the PB protocol by passing in 'PBC'

    prefix
        Interface prefix (default 'riak')

    mapred_prefix
        MapReduce prefix (default 'mapred')

    r   R value setting for this client (default 2)

    w   W value setting for this client (default 2)

    dw  DW value setting for this client (default 2)

    client_id
        client_id for this client

    ua_timeout (REST only)
        timeout for LWP::UserAgent in seconds, defaults to 3.

    disable_return_body (REST only)
        Disable returning of object content in response in a store
        operation.

        If set to true and the object has siblings these will not be
        available without an additional fetch.

        This will become the default behaviour in 0.17

METHODS
  bucket
        my $bucket = $client->bucket($name);

    Get the bucket by the specified name. Since buckets always exist, this
    will always return a Net::Riak::Bucket

  is_alive
        if (!$client->is_alive) {
            ...
        }

    Check if the Riak server for this client is alive

  all_buckets
    List all buckets, requires Riak 0.14+ or PBC connection.

  add
        my $map_reduce = $client->add('bucket_name', 'key');

    Start assembling a Map/Reduce operation

  link
        my $map_reduce = $client->link();

    Start assembling a Map/Reduce operation

  map
        my $map_reduce = $client->add('bucket_name', 'key')->map("function ...");

    Start assembling a Map/Reduce operation

  reduce
        my $map_reduce = $client->add(..)->map(..)->reduce("function ...");

    Start assembling a Map/Reduce operation

  server_info (PBC only)
        $client->server_info->{server_version};

  stats (REST only)
        say Dumper $client->stats;

  SEE ALSO
    Net::Riak::MapReduce

AUTHOR
    franck cuny <franck@lumberjaph.net>, robin edwards <robin.ge@gmail.com>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2011 by linkfluence.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.

POD ERRORS
    Hey! The above document had some coding errors, which are explained
    below:

    Around line 100:
        '=item' outside of any '=over'

    Around line 106:
        '=item' outside of any '=over'

    Around line 112:
        '=item' outside of any '=over'

    Around line 138:
        '=item' outside of any '=over'

