NAME

Cache::FileCache -- implements the Cache interface.

DESCRIPTION

The FileCache class implements the Cache interface. This cache stores data in the filesystem so that it can be shared between processes.

SYNOPSIS

  use Cache::FileCache;

  my %cache_options = ( 'namespace' => 'MyNamespace',
			'default_expires_in' => 600 );

  my $file_cache = new Cache::FileCache( \%cache_options ) or
    croak( "Couldn't instantiate FileCache" );

METHODS

Clear( $optional_cache_root )

See Cache::Cache

$optional_cache_root

If specified, this indicates the root on the filesystem of the cache to be cleared.

Purge( $optional_cache_root )

See Cache::Cache

$optional_cache_root

If specified, this indicates the root on the filesystem of the cache to be purged.

Size( $optional_cache_root )

See Cache::Cache

$optional_cache_root

If specified, this indicates the root on the filesystem of the cache to be sized.

new( $options_hash_ref )

Constructs a new FileCache.

$options_hash_ref

A reference to a hash containing configuration options for the cache. See the section OPTIONS below.

clear( )

See Cache::Cache

get( $identifier )

See Cache::Cache

get_object( $identifier )

See Cache::Cache

purge( )

See Cache::Cache

remove( $identifier )

See Cache::Cache

set( $identifier, $data, $expires_in )

See Cache::Cache

size( )

See Cache::Cache

OPTIONS

See Cache::Cache for standard options. Additionally, options are set by passing in a reference to a hash containing any of the following keys:

cache_root

The location in the filesystem that will hold the root of the cache. Defaults to the 'FileCache' under the OS default temp directory ( often '/tmp' on UNIXes ) unless explicitly set.

cache_depth

The number of subdirectories deep to cache object item. This should be large enough that no cache directory has more than a few hundred objects. Defaults to 3 unless explicitly set.

directory_umask

The directories in the cache on the filesystem should be globally writable to allow for multiple users. While this is a potential security concern, the actual cache entries are written with the user's umask, thus reducing the risk of cache poisoning. If you desire it to only be user writable, set the 'directory_umask' option to '077' or similar. Defaults to '000' unless explicitly set.

PROPERTIES

See Cache::Cache for default properties.

(get|set)_cache_root

The root on the filesystem of this cache.

(get|set)_cache_depth

The number of subdirectories deep to cache each object.

(get|set)_directory_umask

The directories in the cache on the filesystem should be globally writable to allow for multiple users. While this is a potential security concern, the actual cache entries are written with the user's umask, thus reducing the risk of cache poisoning. If you desire it to only be user writable, set the 'directory_umask' option to '077' or similar.

get_identifiers

The list of identifiers specifying objects in the namespace associated with this cache instance. For FileCache implementations, the get_identifiers routine must actual examine each stored item in the cache, and it is therefore an expensive operation.

SEE ALSO

Cache::Cache

AUTHOR

Original author: DeWitt Clinton <dewitt@unto.net>

Last author: $Author: dclinton $

Copyright (C) 2001 DeWitt Clinton