Адаптер кеша Doctrine DBAL

Дата обновления перевода 2024-06-24

Адаптер кеша Doctrine DBAL

Адаптеры Doctrine DBAL хранят объекты кеша в таблице базы данных SQL.

Note

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

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

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

$cache = new DoctrineDbalAdapter(

    // соединение Doctrine DBAL или DBAL URL
    $databaseConnectionOrURL,

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

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

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

Note

Соединения DBAL загружаются лениво по умолчанию; для определения движка и версии базы данных без необходимости установки соединения, могут потребоваться некоторые дополнительные опции.

Адаптер использует синтаксис SQL, оптимизированный для сервера баз данных, к которому он подключен. Известно, что совместимы следующие серверы баз данных:

  • MySQL 5.7 и новее
  • MariaDB 10.2 и новее
  • Oracle 10g и новее
  • SQL Server 2012 и новее
  • SQLite 3.24 или новее
  • PostgreSQL 9.5 или новее

Note

В более новых релизах Doctrine DBAL эти минимальные версии могут быть увеличены. Проверьте в руководстве на странице Платформы Doctrine DBAL, совместим ли ваш сервер баз данных с установленной версией Doctrine DBAL.