The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

DBIx::Class::Cursor::Cached - cursor class with built-in caching support

SYNOPSIS

my $schema = SchemaClass->connect(
  $dsn, $user, $pass, { cursor_class => 'DBIx::Class::Cursor::Cached' }
);

$schema->default_resultset_attributes({
  cache_object => Cache::FileCache->new({ namespace => 'SchemaClass' }),
});

my $rs = $schema->resultset('CD')->search(undef, { cache_for => 300 });

my @cds = $rs->all; # fills cache

$rs = $schema->resultset('CD')->search(undef, { cache_for => 300 });
  # refresh resultset

@cds = $rs->all; # uses cache, no SQL run

$rs->cursor->clear_cache; # deletes data from cache

@cds = $rs->all; # refills cache

AUTHOR

Matt S Trout <mst@shadowcat.co.uk> http://www.shadowcat.co.uk/

Initial development sponsored by and (c) Takkle, Inc. 2007

LICENSE

This library is free software under the same license as perl itself