NAME
Util::Medley::Cache - Simple caching mechanism.
VERSION
version 0.032
SYNOPSIS
#
# positional
#
$self
->set(
'unittest'
,
'test1'
, {
foo
=> bar});
my
$data
=
$self
->get(
'unitest'
,
'test1'
);
my
@keys
=
$self
->getKeys(
'unittest'
);
$self
->
delete
(
'unittest'
,
'test1'
);
#
# named pair
#
$self
->set(
ns
=>
'unittest'
,
key
=>
'test1'
,
data
=> {
foo
=>
'bar'
});
my
$data
=
$self
->get(
ns
=>
'unittest'
,
key
=>
'test1'
);
my
@keys
=
$self
->getKeys(
ns
=>
'unittest'
);
$self
->
delete
(
ns
=>
'unittest'
,
key
=>
'test1'
);
DESCRIPTION
This class provides a thin wrapper around CHI. The caching has 2 levels:
level 1 (memory)
level 2 (disk)
When fetching from the cache, level 1 (L1) is always checked first. If the requested object is not found, it searches the level 2 (L2) cache.
The cached data can be an object, reference, or string.
All methods confess on error.
ATTRIBUTES
rootDir (optional)
Location of the L2 file cache.
enabled (optional)
Toggles caching on or off.
expireSecs (optional)
Sets the cache expiration.
ns (optional)
Sets the cache namespace.
l1Enabled (optional)
Toggles the L1 cache on or off.
l2Enabled (optional)
Toggles the L2 cache on or off.
METHODS
clear
Clears all cache for a given namespace.
delete
Deletes a cache object.
destroy
Deletes L1 cache and removes L2 from disk completely.
get
Gets a unique cache object. Returns undef if not found.
getKeys
Returns a list of cache keys.
getNamespaceDir
Gets the L2 cache dir.
set
Commits the data object to the cache.