Skip to content

Commit a4b66fb

Browse files
Add support for valkey: / valkeys: schemes
1 parent e2828af commit a4b66fb

File tree

4 files changed

+8
-3
lines changed

4 files changed

+8
-3
lines changed

DependencyInjection/Configuration.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1285,6 +1285,7 @@ private function addCacheSection(ArrayNodeDefinition $rootNode, callable $willBe
12851285
->scalarNode('directory')->defaultValue('%kernel.cache_dir%/pools/app')->end()
12861286
->scalarNode('default_psr6_provider')->end()
12871287
->scalarNode('default_redis_provider')->defaultValue('redis://localhost')->end()
1288+
->scalarNode('default_valkey_provider')->defaultValue('valkey://localhost')->end()
12881289
->scalarNode('default_memcached_provider')->defaultValue('memcached://localhost')->end()
12891290
->scalarNode('default_doctrine_dbal_provider')->defaultValue('database_connection')->end()
12901291
->scalarNode('default_pdo_provider')->defaultValue($willBeAvailable('doctrine/dbal', Connection::class) && class_exists(DoctrineAdapter::class) ? 'database_connection' : null)->end()

DependencyInjection/FrameworkExtension.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2501,7 +2501,7 @@ private function registerCacheConfiguration(array $config, ContainerBuilder $con
25012501
// Inline any env vars referenced in the parameter
25022502
$container->setParameter('cache.prefix.seed', $container->resolveEnvPlaceholders($container->getParameter('cache.prefix.seed'), true));
25032503
}
2504-
foreach (['psr6', 'redis', 'memcached', 'doctrine_dbal', 'pdo'] as $name) {
2504+
foreach (['psr6', 'redis', 'valkey', 'memcached', 'doctrine_dbal', 'pdo'] as $name) {
25052505
if (isset($config[$name = 'default_'.$name.'_provider'])) {
25062506
$container->setAlias('cache.'.$name, new Alias(CachePoolPass::getServiceProvider($container, $config[$name]), false));
25072507
}
@@ -2513,12 +2513,13 @@ private function registerCacheConfiguration(array $config, ContainerBuilder $con
25132513
'tags' => false,
25142514
];
25152515
}
2516+
$redisTagAwareAdapters = [['cache.adapter.redis_tag_aware'], ['cache.adapter.valkey_tag_aware']];
25162517
foreach ($config['pools'] as $name => $pool) {
25172518
$pool['adapters'] = $pool['adapters'] ?: ['cache.app'];
25182519

2519-
$isRedisTagAware = ['cache.adapter.redis_tag_aware'] === $pool['adapters'];
2520+
$isRedisTagAware = \in_array($pool['adapters'], $redisTagAwareAdapters, true);
25202521
foreach ($pool['adapters'] as $provider => $adapter) {
2521-
if (($config['pools'][$adapter]['adapters'] ?? null) === ['cache.adapter.redis_tag_aware']) {
2522+
if (\in_array($config['pools'][$adapter]['adapters'] ?? null, $redisTagAwareAdapters, true)) {
25222523
$isRedisTagAware = true;
25232524
} elseif ($config['pools'][$adapter]['tags'] ?? false) {
25242525
$pool['adapters'][$provider] = $adapter = '.'.$adapter.'.inner';

Resources/config/cache.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@
140140
'reset' => 'reset',
141141
])
142142
->tag('monolog.logger', ['channel' => 'cache'])
143+
->alias('cache.adapter.valkey', 'cache.adapter.redis')
143144

144145
->set('cache.adapter.redis_tag_aware', RedisTagAwareAdapter::class)
145146
->abstract()
@@ -156,6 +157,7 @@
156157
'reset' => 'reset',
157158
])
158159
->tag('monolog.logger', ['channel' => 'cache'])
160+
->alias('cache.adapter.valkey_tag_aware', 'cache.adapter.redis_tag_aware')
159161

160162
->set('cache.adapter.memcached', MemcachedAdapter::class)
161163
->abstract()

Tests/DependencyInjection/ConfigurationTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -883,6 +883,7 @@ protected static function getBundleDefaultConfig()
883883
'system' => 'cache.adapter.system',
884884
'directory' => '%kernel.cache_dir%/pools/app',
885885
'default_redis_provider' => 'redis://localhost',
886+
'default_valkey_provider' => 'valkey://localhost',
886887
'default_memcached_provider' => 'memcached://localhost',
887888
'default_doctrine_dbal_provider' => 'database_connection',
888889
'default_pdo_provider' => ContainerBuilder::willBeAvailable('doctrine/dbal', Connection::class, ['symfony/framework-bundle']) && class_exists(DoctrineAdapter::class) ? 'database_connection' : null,

0 commit comments

Comments
 (0)