English spoken conference

Symfony 5: The Fast Track

A new book to learn about developing modern Symfony 5 applications.

Support this project

WARNING: You are browsing the documentation for Symfony 3.3 which is not maintained anymore. Consider upgrading your projects to Symfony 4.3.

Filesystem Cache Adapter

3.3 version

Filesystem Cache AdapterΒΆ

This adapter is useful when you want to improve the application performance but can't install tools like APCu or Redis on the server. This adapter stores the contents as regular files in a set of directories on the local file system.

This adapter can optionally be provided a namespace, default cache lifetime, and directory path, as its first, second, and third parameters:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
use Symfony\Component\Cache\Adapter\FilesystemAdapter;

$cache = new FilesystemAdapter(

    // a string used as the subdirectory of the root cache directory, where cache
    // items will be stored
    $namespace = '',

    // the default lifetime (in seconds) for cache items that do not define their
    // own lifetime, with a value 0 causing items to be stored indefinitely (i.e.
    // until the files are deleted)
    $defaultLifetime = 0,

    // the main cache directory (the application needs read-write permissions on it)
    // if none is specified, a directory is created inside the system temporary directory
    $directory = null
);

Tip

This adapter is generally the slowest due to the overhead of file IO. If throughput is paramount, the in-memory adapters (such as APCu, Memcached, and Redis) or the database adapters (such as Doctrine and PDO & Doctrine) are recommended.

This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.