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

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

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

Адаптеры PDO сохраняють объекты кеша в таблице базы данных SQL.

Note

Этот адаптер реализует PruneableInterface, что позволяет вручную отсекать просроченные записи кеша , путём вызова метода prune().

PdoAdapter требует PDO или DSN в качестве первого параметра. Вы можете передать пространство имён, время жизни кеша по умолчанию и массив опций в виде других необязательных аргументов:

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

$cache = new PdoAdapter(

    // соединение PDO или DSN для ленивого соединения через PDO
    $databaseConnectionOrDSN,

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

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

    // массив опций для конфигурации таблицы базы данных и соединения
    $options = []
);

Таблица, где хранятся значения, создаётся автоматически при первом вызове метода save(). Вы можете создать эту таблицу ясно, вызвав метод createTable() в вашем коде.

Tip

При передаче строки Имени источника данных (DSN) (вместо экземпляра класса соединения с базой данных), соединение будет загружено лениво при потребности.