NAME¶
Cache::SizeAwareCache -- extends the Cache interface.
DESCRIPTION¶
The SizeAwareCache interface is implemented by classes that support all of the
Cache::Cache interface in addition to the limit_size and max_size features of
a size aware cache.
The default cache size limiting algorithm works by removing cache objects in the
following order until the desired limit is reached:
1) objects that have expired
2) objects that are least recently accessed
3) objects that that expire next
SYNOPSIS¶
use Cache::SizeAwareCache;
use vars qw( @ISA );
@ISA = qw( Cache::SizeAwareCache );
CONSTANTS¶
Please see Cache::Cache for standard constants
- $NO_MAX_SIZE
- The cache has no size restrictions
METHODS¶
Please see Cache::Cache for the standard methods
- limit_size( $new_size )
- Attempt to resize the cache such that the total disk usage
is under the $new_size parameter.
$new_size represents t size (in bytes) that the
cache should be limited to. Note that this is only a one time adjustment.
To maintain the cache size, consider using the max_size option,
although it is considered very expensive, and can often be better achieved
by peridocally calling limit_size.
OPTIONS¶
Please see Cache::Cache for the standard options
- max_size
- Sets the max_size property (size in bytes), which is
described in detail below. Defaults to
$NO_MAX_SIZE.
PROPERTIES¶
Please see Cache::Cache for standard properties
- (get|set)_max_size
- If this property is set, then the cache will try not to
exceed the max size value (in bytes) specified. NOTE: This causes the size
of the cache to be checked on every set, and can be considered *very*
expensive in some implementations. A good alternative approach is leave
max_size as $NO_MAX_SIZE and to periodically limit the size of the cache
by calling the limit_size( $size ) method.
SEE ALSO¶
Cache::Cache
AUTHOR¶
Original author: DeWitt Clinton <dewitt@unto.net>
Last author: $Author: dclinton $
Copyright (C) 2001-2003 DeWitt Clinton