ANNOUNCEMENT: NEW MODULE: IPC::SharedCache 1.3 IPC::SharedCache - a Perl module to manage a cache in SysV IPC shared memory. CHANGES 1.3 - Bug Fix: missing _unlock() in DELETE rectified. (Ed Loehr) - Bug Fix: callback array refs were being eaten on cache access. (Maverick) SHORT DESCRIPTION This module provides a shared memory cache accessed as a tied hash. Shared memory is an area of memory that is available to all processes. It is accessed by choosing a key, the ipc_key arguement to tie. Every process that accesses shared memory with the same key gets access to the same region of memory. This module attempts to make shared memory easy to use for one specific application - a shared memory cache. For other uses of shared memory see the documentation to the excelent module I use, IPC::ShareLite. This module is licenced under the GPL. See the LICENCE section of the README. AVAILABILITY This module is available on SourceForge. Download it at: http://download.sourceforge.net/HTML-Template/IPC-SharedCache-1.3.tar.gz The module is also available on CPAN. You can get it using CPAN.pm or go to: http://www.cpan.org/authors/id/S/SA/SAMTREGAR/ MOTIVATION This module began its life as an internal piece of HTML::Template. HTML::Template has the ability to maintain a cache of parsed template structures when running in a persistent environment like Apache/mod_perl. Since parsing a template from disk takes a fair ammount of time this can provide a big performance gain. Unfortunately it can also consume large ammounts of memory since each web server maintains its own cache in its own memory space. By using IPC::ShareLite and Storable, HTML::Template was able to maintain a single shared cache of templates. The downside was that HTML::Template's cache routines became complicated by a lot of IPC code. My solution is to break out the IPC cache mechanisms into their own module, IPC::SharedCache. Hopefully over time it can become general enough to be usable by more than just HTML::Template. DOCUMENTATION The documentation is in SharedCache.pm in the form of POD format perldocs. Even the above text might be out of date, so be sure to check the perldocs for the straight truth. CONTACT INFO This module was written by Sam Tregar (sam@tregar.com).