DATABASE
DATABASE = 'database'
The always-available backend.
Chooses the journal backend, and falls back rather than failing.
A journal that cannot be constructed would take capture down with it, and capture is the one thing that must not stop: an operation not captured is a gap in the history that nothing can fill later. So a configured backend that cannot be reached logs why and hands back the database journal, which needs nothing beyond what Drupal already has.
The Redis connection is read from Drupal's own redis.connection settings, which is where
drupal/redis puts it, so a site already running Redis configures nothing extra.
__construct(\Drupal\Core\Config\ConfigFactoryInterface $configFactory, \Drupal\Core\Database\Connection $database, \Psr\Log\LoggerInterface $logger, object|null $client = null) : mixed
Constructs a factory.
| \Drupal\Core\Config\ConfigFactoryInterface | $configFactory | Where the configured backend is read from. |
| \Drupal\Core\Database\Connection | $database | Backs the database journal. |
| \Psr\Log\LoggerInterface | $logger | Records a backend that could not be used. |
| object|null | $client | A ready Redis client, which a test supplies. NULL to connect from settings. |