View on
MetaCPAN
search.cpan.org is shutting down
For details read Perl NOC. After June 25th this page will redirect to MetaCPAN.org
יובל קוג'מן (Yuval Kogman) > KiokuDB-0.51 > KiokuDB::Set

Download:
KiokuDB-0.51.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  3
Open  2
View/Report Bugs
Source   Latest Release: KiokuDB-0.57

NAME ^

KiokuDB::Set - Set::Object wrapper for KiokuDB with lazy loading.

SYNOPSIS ^

    use KiokuDB::Util qw(set);

    my $set = set(); # KiokuDB::Set::Transient

    $set->insert($object);

    warn $set->size;

    my $id = $dir->store( $set );

DESCRIPTION ^

This role defines the API implemented by KiokuDB::Set::Transient, KiokuDB::Set::Deferred, and KiokuDB::Set::Loaded.

These three classes are modeled after Set::Object, but have implementation details specific to KiokuDB.

Transient Sets

Transient sets are in memory, they are sets that have been constructed by the user for subsequent insertion into storage.

When you create a new set, this is what you should use.

KiokuDB::Util provides convenience functions ("set" in KiokuDB::Util and "weak_set" in KiokuDB::Util) to construct transient sets concisely.

Deferred Sets

When a set is loaded from the backend, it is deferred by default. This means that the objects inside the set are not yet loaded, and will be fetched only as needed.

When set members are needed, the set is upgraded in place into a KiokuDB::Set::Loaded object.

Loaded Sets

This is the result of vivifying the members of a deferred set, and is similar to transient sets in implementation.

syntax highlighting: