NAME
Role::Cache::LRU - Add LRU caching to any Moo classes.
SYNOPSIS
package MyPackage;
use Moo;
use Role::Cache::LRU;
my $mp = MyPackage->new;
$mp->set_cache('foo', {bar => 1});
$mp->get_cache('foo');
DESCRIPTION
Role::Cache::LRU is a Moo's role that provides LRU caching based on Cache::LRU.
DEVELOPMENT
Source repo at https://github.com/kianmeng/role-cache-lru.
How to contribute? Follow through the CONTRIBUTING.md document to setup your development environment.
METHODS
set_cache($key, $item)
Add a cache item to the cache. The $key must be a string.
my $mp = MyPackage->new;
$mp->set_cache('foo', {bar => 1});
$mp->set_cache('bar', [1, 2, 3]);
get_cache($key)
Get a cached item based on the $key. If nothing is found, returns undef.
my $mp = MyPackage->new;
my $item = $mp->get_cache('fishball');
print $item; # undef
set_cache_size($max)
Set the maximum cached size. The $max value must be larger or equal to 1. Adjust this to your available maximum memory in your script.
my $mp = MyPackage->new;
$mp->set_cache_size(4096);
get_cache_size()
Get the maximum cache size. The default maximum value is 1024.
my $mp = MyPackage->new;
print $mp->get_cache_size();
# 1024
COPYRIGHT AND LICENSE
This software is Copyright (c) 2019 Kian Meng, Ang.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
AUTHOR
Kian Meng, Ang <kianmeng@users.noreply.github.com>