Cache::AgainstFile::CacheModule - use Cache or Cache::Cache modules for
Cache::AgainstFile
use Cache::AgainstFile;
my $cache = new Cache::AgainstFile(
\&loader,
{
Method => 'CacheModule',
CacheModule => 'Cache::MemoryCache', #This will be loaded on demand
CacheModuleOptions => {'default_expires_in' => 300},
# ...
}
);
$data = $cache->get($filename);
This backend allows you to apply Cache::AgainstFile to any of the modules on
CPAN that conform to the Cache::Cache or Cache interfaces. Data structures are
automatically serialised into the cache.
- CacheModule
- The module to use for the cache implementation (e.g.
Cache::MemoryCache)
- CacheModuleOptions
- A hashref of options to pass to the cache module's constructor
- Grace
- How long to defer statting the file (in seconds). This option is only any
use with memory caches for two reasons:
First, for filesystem caches, the cost of fetching an item
from the cache far exceeds the cost of statting a file.
Second, unlike the file modification time which is stored
within the cache itself, the history of when files were last statted is
held in memory, so that the cache does not need to be reserialised on
each stat. Therefore the stat history is not shared between
processes.
Be careful if you use this in modperl environments as it will
result in some children having a new version of the cached item, and
some still having the old version.
- NoStat
- Don't stat files to validate the cache - items are served from the cache
until they are purged. Valid values are 0|1 (default=0, i.e. files are
statted)
Setting this to 1 is equivalent to setting Grace to an
infinite value.
$Revision: 1.9 $ on $Date:
2005/10/31 21:10:41 $ by $Author: johna $
John Alden <cpan _at_ bbc _dot_ co _dot_ uk>
(c) BBC 2005. This program is free software; you can redistribute it and/or
modify it under the GNU GPL.
See the file COPYING in this distribution, or
http://www.gnu.org/licenses/gpl.txt