Hi, I have just uploaded Apache::DBI::Cache to cpan. The module aims at the same problems as Apache::DBI but works different.
While Apache::DBI caches connections at connect time this module caches them only at disconnect or DESTROY. Apache::DBI does not distinguish between currently used and free connections. Hence, it cannot support multiple identical connections. This module does. Apache::DBI resets all connections at request cleanup. Apache::DBI::Cache intercepts disconnect or DESTROY events to do that. As does Apache::DBI it works with mp1 and mp2. It also provides handle statistics via Apache::Status respectively Apache2::Status. Apache::DBI::Cache can use BerkeleyDB as a shared memory implementation to provide statistics for the whole Apache process group instead of a single process. Apache::DBI::Cache includes the DBD driver name in the caching key while Apache::DBI does not. Hence with Apache::DBI the following 2 DSNs can result in the same DBI handle: dbi:mysql:dbname=db and dbi:Pg:dbname=db Apache::DBI::Cache has a plugin interface to treat different database types specially. I wrote this module because Apache::DBI had changed the logic of our programs. Further, we had really much DSNs mostly MySQL in various configuration files all using different syntaxes to connect to a dozen databases on 2 database hosts. With the Apache::DBI::Cache and the mysql plugin we could strip the number of connections down to a handful of permanent connections per Apache process. There are still cases when Apache::DBI::Cache changes the logic of your program but less than with Apache::DBI. Torsten ---------- Forwarded Message ---------- Subject: PAUSE indexer report OPI/Apache-DBI-Cache-0.06.tar.gz Date: Wednesday 30 November 2005 10:58 From: PAUSE <[EMAIL PROTECTED]> To: [EMAIL PROTECTED], [EMAIL PROTECTED] The following report has been written by the PAUSE namespace indexer. Please contact modules@perl.org if there are any open questions. Id: mldistwatch 676 2005-11-24 20:38:34Z k User: OPI (Torsten Foertsch) Distribution file: Apache-DBI-Cache-0.06.tar.gz Number of files: 14 *.pm files: 2 README: Apache-DBI-Cache-0.06/README META.yml: Apache-DBI-Cache-0.06/META.yml Timestamp of file: Wed Nov 30 09:33:38 2005 UTC Time of this run: Wed Nov 30 09:58:38 2005 UTC The following packages (grouped by status) have been found in the distro: Status: Successfully indexed ============================ module: Apache::DBI::Cache version: 0.06 in file: Apache-DBI-Cache-0.06/lib/Apache/DBI/Cache.pm status: indexed module: Apache::DBI::Cache::db version: 0.06 in file: Apache-DBI-Cache-0.06/lib/Apache/DBI/Cache.pm status: indexed module: Apache::DBI::Cache::mysql version: 0.05 in file: Apache-DBI-Cache-0.06/lib/Apache/DBI/Cache/mysql.pm status: indexed __END__ -------------------------------------------------------
pgpJzxTJWkSH5.pgp
Description: PGP signature