Cache(3)

NAME
LJ::Cache - LRU Cache

SYNOPSIS
  use LJ::Cache;
  my $cache = new LJ::Cache { 'maxsize' => 20 };
  my $value = $cache->get($key);
  unless (defined $value) {
      $val = "load some value";
      $cache->set($key, $value);
  }

DESCRIPTION
This class implements an LRU dictionary cache. The two operations on it are get() and set(), both of which promote the key being referenced to the "top" of the cache, so it will stay alive longest.

When the cache is full and and a new item needs to be added, the oldest one is thrown away.

You should be able to regenerate the data at any time, if get() returns undef.

This class is useful for caching information from a slower data source while also keeping a bound on memory usage.

AUTHOR
Brad Fitzpatrick, bradfitz@bradfitz.com

SEE ALSO
perl(1).