Адаптер кеша APCu

Дата обновления перевода 2023-08-15

Адаптер кеша APCu

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

Caution

Требование: Расширение APCu должно быть установлено и активно для использования этого адаптера.

ApcuAdapter можно опционально предоставить пространство имён, время жизни кеша по умолчанию и строку версии кешированных объектов в качестве аргументов конструктора:

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

$cache = new ApcuAdapter(

    // строка, добавленная в качестве префикса к ключам объектов, хранящихся в этом кеше
    $namespace = '',

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

    // если установлено, то все ключи с префиксом $namespace могут быть инвалидированы, путём изменения
    // этой строки $version
    $version = null
);

Caution

Использование этого адаптера не рекомендуется в написании и удалении большого объема, так как эти операции вызывают фрагментацию памяти, которая приводит к существенно сниженной производительности.

Tip

CRUD операции этого адаптера относятся конкретно к PHP SAPI, под которым он работает. Это означает, что операции кеша (вроде добавлений, удалений и т.д.), использующие CLI, не будут доступны под SAPI FPM или CGI.