Skip to content

Doctrine DBAL Cache Adapter

Edit this page

The Doctrine DBAL adapters store the cache items in a table of an SQL database.

Note

This adapter implements PruneableInterface, allowing for manual pruning of expired cache entries by calling the prune() method.

The DoctrineDbalAdapter requires a Doctrine DBAL Connection, or Doctrine DBAL URL as its first parameter. You can pass a namespace, default cache lifetime, and options array as the other optional arguments:

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(

    // a Doctrine DBAL connection or DBAL URL
    $databaseConnectionOrURL,

    // the string prefixed to the keys of the items stored in this cache
    $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 database table is truncated or its rows are otherwise deleted)
    $defaultLifetime = 0,

    // an array of options for configuring the database table and connection
    $options = []
);

Note

DBAL Connection are lazy-loaded by default; some additional options may be necessary to detect the database engine and version without opening the connection.

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