PDO & Doctrine DBAL Cache Adapter
Warning: You are browsing the documentation for Symfony 3.x, which is no longer maintained.
Consider upgrading your projects to Symfony 7.1.
3.2
The PDO & Doctrine DBAL adapter was introduced in Symfony 3.2.
This adapter stores the cache items in an SQL database. It requires a PDO, Doctrine DBAL Connection, or Data Source Name (DSN) as its first parameter, and optionally a namespace, default cache lifetime, and options array as its second, third, and forth parameters:
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(
// a PDO, a Doctrine DBAL connection or DSN for lazy connecting through PDO
$databaseConnectionOrDSN,
// 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 = []
);
Tip
When passed a Data Source Name (DSN) string (instead of a database connection class instance), the connection will be lazy-loaded when needed.
Note
Since Symfony 3.4, this adapter implements PruneableInterface,
allowing for manual pruning of expired cache entries by
calling its prune()
method.