ANNOUNCEMENT: NEW MODULE: IPC::SharedCache 1.3
IPC::SharedCache - a Perl module to manage a cache in SysV IPC shared
- Bug Fix: missing _unlock() in DELETE rectified. (Ed Loehr)
- Bug Fix: callback array refs were being eaten on cache access.
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,
This module is licenced under the GPL. See the LICENCE section of the
This module is available on SourceForge. Download it at:
The module is also available on CPAN. You can get it using CPAN.pm or
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.
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.
This module was written by Sam Tregar (firstname.lastname@example.org).