Cache::SizeAwareCache — extends the Cache interface.
| Use Case | Command | Description |
|---|---|---|
| 🔧 Implement a size-aware cache | use Cache::SizeAwareCache; @ISA = qw( Cache::SizeAwareCache ); | Inherit from this class to add size limiting to your cache implementation |
| 📏 No size limit constant | $NO_MAX_SIZE | Constant indicating the cache has no size restrictions |
| ✂️ One-time size limit | $cache->limit_size( $bytes ) | Resize the cache to be under the specified byte limit (one-time adjustment) |
| 🔒 Automatic size limit | max_size => $bytes | Set option to automatically enforce a max cache size (expensive on every set) |
| 📋 Get/Set max size | $cache->get_max_size() / $cache->set_max_size( $bytes ) | Property accessors for the maximum cache size in bytes |
use Cache::SizeAwareCache;
use vars qw( @ISA );
@ISA = qw( Cache::SizeAwareCache );
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:
Please see Cache::Cache for standard constants
$NO_MAX_SIZE — 🚫 The cache has no size restrictionsPlease 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 the 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.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.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 to leave max_size as $NO_MAX_SIZE and to periodically limit the size of the cache by calling the limit_size( $size ) method.Original author: DeWitt Clinton <dewitt AT unto.net>
Last author: $Author: dclinton $
Copyright (C) 2001-2003 DeWitt Clinton
perl v5.20.2 2015-01-22 Cache::SizeAwareCache(3pm)
Generated by phpman v4.9.26-5-g7740029 Author: Che Dong Under GNU General Public License
2026-08-26 05:55 @216.73.217.127
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)