---
name: "Cache::FileBackend"
section: "3pm"
platform: "linux"
package: "libcache-cache-perl"
version: "1.08-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Cache::FileBackend"
---

# Cache::FileBackend(3pm)

## NAME

Cache::FileBackend -- a filesystem based persistence mechanism

## DESCRIPTION

The FileBackend class is used to persist data to the filesystem

## SYNOPSIS

```
  my $backend = new Cache::FileBackend( '/tmp/FileCache', 3, 000 );
  See Cache::Backend for the usage synopsis.
  $backend->store( 'namespace', 'foo', 'bar' );
  my $bar = $backend->restore( 'namespace', 'foo' );
  my $size_of_bar = $backend->get_size( 'namespace', 'foo' );
  foreach my $key ( $backend->get_keys( 'namespace' ) )
  {
    $backend->delete_key( 'namespace', $key );
  }
  foreach my $namespace ( $backend->get_namespaces( ) )
  {
    $backend->delete_namespace( $namespace );
  }
```

## METHODS

See Cache::Backend for the API documentation.

- **new( $root, $depth, $directory\_umask )**

  Construct a new FileBackend that writes data to the *$root* directory, automatically creates subdirectories *$depth* levels deep, and uses the umask of *$directory\_umask* when creating directories.

## PROPERTIES

- **(get\|set)\_root**

  The location of the parent directory in which to store the files

- **(get\|set)\_depth**

  The branching factor of the subdirectories created to store the files

- **(get\|set)\_directory\_umask**

  The umask to be used when creating directories

## SEE ALSO

Cache::Backend, Cache::MemoryBackend, Cache::SharedMemoryBackend

## AUTHOR

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

Last author:     `$Author:` dclinton $

Copyright (C) 2001-2003 DeWitt Clinton
