# man > Cache::SizeAwareMemoryCache

---
type: CommandReference
command: SizeAwareMemoryCache
mode: perldoc
section: 3pm
source: perldoc
---

## Quick Reference
- `my $cache = Cache::SizeAwareMemoryCache->new({ namespace => 'MyNS', default_expires_in => 600, max_size => 10000 });` — Create size‑limited in‑memory cache.
- `$cache->limit_size(20000);` — Dynamically adjust maximum cache size (bytes).
- `$cache->set($key, $data, $expires);` — Store an entry (inherited from [Cache::Cache](http://localhost/phpMan.php/perldoc/Cache%3A%3ACache/markdown)).
- `$cache->get($key);` — Retrieve an entry.
- `$cache->remove($key);` — Delete a single entry.
- `$cache->clear();` — Purge all entries.

## Name
`Cache::SizeAwareMemoryCache` – extends [Cache::MemoryCache](http://localhost/phpMan.php/perldoc/Cache%3A%3AMemoryCache/markdown) with dynamic byte‑size limits.

## Synopsis
perl
use Cache::SizeAwareMemoryCache;

my $cache = Cache::SizeAwareMemoryCache->new({
    namespace          => 'MyNamespace',
    default_expires_in => 600,
    max_size           => 10000,
});
## Options
All standard options from [Cache::Cache](http://localhost/phpMan.php/perldoc/Cache%3A%3ACache/markdown) and [Cache::SizeAwareCache](http://localhost/phpMan.php/perldoc/Cache%3A%3ASizeAwareCache/markdown) are supported.  
Key additions:

- `max_size` — Maximum total size in bytes; older entries are evicted when exceeded.

## Methods
Full API is defined in [Cache::Cache](http://localhost/phpMan.php/perldoc/Cache%3A%3ACache/markdown) and [Cache::SizeAwareCache](http://localhost/phpMan.php/perldoc/Cache%3A%3ASizeAwareCache/markdown).  
Notable size‑control method:

- `limit_size($size)` — Change the `max_size` limit at runtime.

## Properties
Inherited from [Cache::Cache](http://localhost/phpMan.php/perldoc/Cache%3A%3ACache/markdown) and [Cache::SizeAwareCache](http://localhost/phpMan.php/perldoc/Cache%3A%3ASizeAwareCache/markdown).

## See Also
- [Cache::Cache](http://localhost/phpMan.php/perldoc/Cache%3A%3ACache/markdown)
- [Cache::SizeAwareCache](http://localhost/phpMan.php/perldoc/Cache%3A%3ASizeAwareCache/markdown)
- [Cache::MemoryCache](http://localhost/phpMan.php/perldoc/Cache%3A%3AMemoryCache/markdown)