Florian Ragwitz > Data-Riak-1.4 > Data::Riak::Bucket

Download:
Data-Riak-1.4.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  1
View/Report Bugs
Module Version: 1.4   Source   Latest Release: Data-Riak-2.0

NAME ^

Data::Riak::Bucket - A Data::Riak bucket, used for storing keys and values.

VERSION ^

version 1.4

SYNOPSIS ^

    my $bucket = Data::Riak::Bucket->new({
        name => 'my_bucket',
        riak => $riak
    });

    # Sets the value of "foo" to "bar", in my_bucket.
    $bucket->add('foo', 'bar');

    # Gets the Result object for "foo" in my_bucket.
    my $foo = $bucket->get('foo');

    # Returns "bar"
    my $value = $foo->value;

    $bucket->create_alias({ key => 'foo', as => 'alias_to_foo' });
    $bucket->create_alias({ key => 'foo', as => 'alias_to_foo', in => $another_bucket });

    # Returns "bar"
    my $value = $bucket->resolve_alias('alias_to_foo');
    my $value = $another_bucket->resolve_alias('alias_to_foo');

    $bucket->add('baz, 'value of baz', { links => [$bucket->create_link( riaktag => 'buddy', key =>'foo' )] });
    my $resultset = $bucket->linkwalk('baz', [[ 'buddy', '_' ]]);
    my $value = $resultset->first->value;   # Will be "bar", the value of foo

DESCRIPTION ^

Data::Riak::Bucket is the primary interface that most people will use for Riak. Adding and removing keys and values, adding links, querying keys; all of those happen here.

METHODS ^

add ($key, $value, $opts)

This will insert a key $key into the bucket, with value $value. The $opts can include links, allowed content types, or queries.

remove ($key, $opts)

This will remove a key $key from the bucket.

get ($key, $opts)

This will get a key $key from the bucket, returning a Data::Riak::Result object.

list_keys

List all the keys in the bucket. Warning: This is expensive, as it has to scan every key in the system, so don't use it unless you mean it, and know what you're doing.

count

Count all the keys in a bucket. This uses MapReduce to figure out the answer, so it's expensive; Riak does not keep metadata on buckets for reasons that are beyond the scope of this module (but are well documented, so if you are interested, read up).

remove_all

Remove all the keys from a bucket. This involves a list_keys call, so it will be slow on larger systems.

search_index

Searches a Secondary Index to find results.

create_alias ($opts)

Creates an alias for a record using links. Helpful if your primary ID is a UUID or some other automatically generated identifier. Can cross buckets, as well.

    $bucket->create_alias({ key => '123456', as => 'foo' });
    $bucket->create_alias({ key => '123456', as => 'foo', in => $other_bucket });

resolve_alias ($alias)

Returns the Data::Riak::Result that $alias points to.

AUTHORS ^

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2013 by Infinity Interactive.

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

syntax highlighting: