NAME
Cache::AgainstFile::Base - base class for default backends
SYNOPSIS
package Cache::AgainstFile::MyBackend;
use Cache::AgainstFile::Base;
@ISA = qw(Cache::AgainstFile::Base);
...implement methods...
1;
DESCRIPTION
This provides a default implementation for purging the cache, based on a list of stale files and a hashref of access times.
Classes inheriting from this base class should provide the following public methods:
- $b = new Cache::AgainstFile::MyBackend(\&loader, \%options)
-
This should call the base class constructor.
- $data = $b->get($filename, @opts)
-
Fetch an item from the cache. @opts should be passed after the filename to the loader coderef.
- $n = $b->count()
-
Number of items in the cache
- $bytes = $b->size()
-
Total size of the cache in bytes
They should also provide the following protected methods which are used to support purge():
- $b->_remove(\@filenames)
-
Remove a number of items from the cache
- $hashref = $b->_accessed()
-
A hashref of filename => access time
- @filenames = $b->_stale()
-
A list of cache items which are stale with respect to their original files
OPTIONS
The implementation of purge() supports the options:
- NoStat
- MaxItems
- MaxATime
VERSION
$Revision: 1.8 $ on $Date: 2005/06/03 14:29:55 $ by $Author: johna $
AUTHOR
John Alden <cpan _at_ bbc _dot_ co _dot_ uk>
COPYRIGHT
(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