The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Alzabo::ObjectCache::Store::LRU - Make any storage module an LRU

SYNOPSIS

  use Alzabo::ObjectCache( store => 'Alzabo::ObjectCache::Store::Memory',
                           sync  => 'Alzabo::ObjectCache::Sync::Null',
                           lru_size => 100 );

DESCRIPTION

This class can help turn any storage module into an LRU cache fairly easily.

METHODS

Note that pretty much all the methods that take an object as an argument will silently do nothing if the object is not already in the cache. The obvious exception is the store_object method.

new

Returns

A new Alzabo::ObjectCache::Store::Memory object.

fetch_object ($id)

Returns

The specified object if it is in the cache. Otherwise it returns undef.

store_object ($object)

Stores an object in the cache. This will not overwrite an existing object in the cache. To do that you must first call the delete_from_cache method.

delete_from_cache ($object)

This method allows you to remove an object from the cache. This does not register the object as deleted. It is provided solely so that you can call store_object after calling this method and have store_object actually store the new object.

CLASS METHOD

clear

Call this method to completely clear the cache.

AUTHOR

Dave Rolsky, <autarch@urth.org>