NAME CHI::Driver::DBI - Use DBI for cache storage VERSION version 1.25 SYNOPSIS use CHI; # Supply a DBI handle # my $cache = CHI->new( driver => 'DBI', dbh => DBI->connect(...) ); # or a DBIx::Connector # my $cache = CHI->new( driver => 'DBI', dbh => DBIx::Connector->new(...) ); # or code that generates a DBI handle # my $cache = CHI->new( driver => 'DBI', dbh => sub { ...; return $dbh } ); DESCRIPTION This driver uses a database table to store the cache. The newest versions of MySQL and SQLite work are known to work. Other RDBMSes should work. Why cache things in a database? Isn't the database what people are trying to avoid with caches? This is often true, but a simple primary key lookup is extremely fast in many databases and this provides a shared cache that can be used when less reliable storage like memcached is not appropriate. Also, the speed of simple lookups on MySQL when accessed over a local socket is very hard to beat. DBI is fast. AUTHORS Original version by Justin DeVuyst and Perrin Harkins. Currently maintained by Jonathan Swartz. COPYRIGHT AND LICENSE This software is copyright (c) 2011 by Justin DeVuyst. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.