Warning: You are browsing the documentation for Symfony 3.4, which is no longer maintained.
Read the updated version of this page for Symfony 5.3 (the current stable version).
PDO & Doctrine DBAL Cache Adapter
PDO & Doctrine DBAL Cache Adapter¶
New in version 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:
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 =  );
When passed a Data Source Name (DSN) string (instead of a database connection class instance), the connection will be lazy-loaded when needed.
Since Symfony 3.4, this adapter implements
allowing for manual pruning of expired cache entries by
This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.