# man > Cache::FileCache

## NAME
    [Cache::FileCache](https://www.chedong.com/phpMan.php/perldoc/Cache%3A%3AFileCache/markdown) -- 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](https://www.chedong.com/phpMan.php/perldoc/Cache%3A%3AFileCache/markdown);

      my $cache = new [Cache::FileCache](https://www.chedong.com/phpMan.php/perldoc/Cache%3A%3AFileCache/markdown)( { 'namespace' => 'MyNamespace',
                                          'default_expires_in' => 600 } );

      See [Cache::Cache](https://www.chedong.com/phpMan.php/perldoc/Cache%3A%3ACache/markdown) for the usage synopsis.

## METHODS
    See [Cache::Cache](https://www.chedong.com/phpMan.php/perldoc/Cache%3A%3ACache/markdown) for the API documentation.

    Clear( [$cache_root] )
        See [Cache::Cache](https://www.chedong.com/phpMan.php/perldoc/Cache%3A%3ACache/markdown), with the optional *$cache_root* parameter.

    Purge( [$cache_root] )
        See [Cache::Cache](https://www.chedong.com/phpMan.php/perldoc/Cache%3A%3ACache/markdown), with the optional *$cache_root* parameter.

    Size( [$cache_root] )
        See [Cache::Cache](https://www.chedong.com/phpMan.php/perldoc/Cache%3A%3ACache/markdown), with the optional *$cache_root* parameter.

## OPTIONS
    See [Cache::Cache](https://www.chedong.com/phpMan.php/perldoc/Cache%3A%3ACache/markdown) 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](https://www.chedong.com/phpMan.php/perldoc/Cache%3A%3ACache/markdown) for default properties.

    (get|set)_cache_root
        See the definition above for the option *cache_root*

    (get|set)_cache_depth
        See the definition above for the option *cache_depth*

    (get|set)_directory_umask
        See the definition above for the option *directory_umask*

## SEE ALSO
    [Cache::Cache](https://www.chedong.com/phpMan.php/perldoc/Cache%3A%3ACache/markdown)

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

    Last author: $Author: dclinton $

    Copyright (C) 2001-2003 DeWitt Clinton

