Cache::SizeAwareCache -- extends the Cache interface.
Contents
Constants
Please see Cache::Cache for standard constants
$NO_MAX_SIZE
The cache has no size restrictions
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 expire next
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 periodically calling limit_size.
Name
Cache::SizeAwareCache -- extends the Cache interface.
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
Synopsis
use Cache::SizeAwareCache;
use vars qw( @ISA );
@ISA = qw( Cache::SizeAwareCache );
