Адаптер кеша файловой системы

Этот адаптер предоставляет улучшенную производительность приложения для тех, кто не может установить инструменты вроде APCu или Redis в своём окружении. Он хранит срок окончания действия объекта кеша и содержане в виде обычных файлов в коллекции каталогов в локально смонтированной файловой системе.

Tip

Производительность этого адаптера может быть значительно увеличена с использованием временной файловой системы в оперативной памяти, вроде tmpfs на Linux, или одного из множества других доступных решений RAM-диска.

FilesystemAdapter можно опционально предоставить пространство имён, время жизни кеша по умолчаию и путь корня кеша в качестве параметров конструктора:

 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(

    // строка, используемая в качестве подкаталога корневого каталога кеша, где
    // будут храниться объекты кеша
    $namespace = '',

    // время жизни по умолчанию (в секундах) для объектов кеша, которые не определяют
    // собственное время жизни, со значением 0, вызывающим бесконечное хранение объектов
    // (т.е. пока не будут удалены файлы)
    $defaultLifetime = 0,

    // главный каталог кеша (приложению нужны права чтения и редактирования в нём)
    // если он не указан, то создаётся каталог внутри временного каталога системы
    $directory = null
);

Caution

Перегрузка IO файловой системы часто делает этот адаптер одним из более медленных вариантов. Если пропускная способность является наиболее важной, то рекомендуется использовать адаптеры оперативной памяти (Apcu, Memcached, и Redis) или адаптеры БД (Doctrine и PDO).

Note

Начиная с Symfony 3.4, этот адаптер реализует PruneableInterface, позволяя ручное отсечение просроченных объектов кеша, путём вызова его метода prune().

Эта документация является переводом официальной документации Symfony и предоставляется по свободной лицензии CC BY-SA 3.0.