Cursor class with built-in caching support
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
Matt S Trout <[email protected]> http://www.shadowcat.co.uk/
Initial development sponsored by and (c) Takkle, Inc. 2007
This library is free software under the same license as perl itself