Skip to content
Snippets Groups Projects
Commit 3a34540d authored by jurgenhaas's avatar jurgenhaas
Browse files

ansible-inventories/arocom#192 Redis Support for Drupal 8

parent ff0277b6
Branches
No related tags found
No related merge requests found
......@@ -59,6 +59,63 @@ $config_directories['{{ directory }}'] = 'sites/{{ item.shortname|default("defau
{{ line }}
{% endfor %}
// Set redis configuration.
if (extension_loaded('redis')) {
// Set Redis as the default backend for any cache bin not otherwise specified.
$settings['redis.connection']['interface'] = 'PhpRedis';
$settings['cache']['default'] = 'cache.backend.redis';
$settings['redis.connection']['host'] = '127.0.0.1';
// Apply changes to the container configuration to better leverage Redis.
// This includes using Redis for the lock and flood control systems, as well
// as the cache tag checksum. Alternatively, copy the contents of that file
// to your project-specific services.yml file, modify as appropriate, and
// remove this line.
$settings['container_yamls'][] = 'modules/contrib/redis/example.services.yml';
// Allow the services to work before the Redis module itself is enabled.
$settings['container_yamls'][] = 'modules/contrib/redis/redis.services.yml';
// Manually add the classloader path, this is required for the container cache bin definition below
// and allows to use it without the redis module being enabled.
$class_loader->addPsr4('Drupal\\redis\\', 'modules/contrib/redis/src');
// Use redis for container cache.
// The container cache is used to load the container definition itself, and
// thus any configuration stored in the container itself is not available
// yet. These lines force the container cache to use Redis rather than the
// default SQL cache.
$settings['bootstrap_container_definition'] = [
'parameters' => [],
'services' => [
'redis.factory' => [
'class' => 'Drupal\redis\ClientFactory',
],
'cache.backend.redis' => [
'class' => 'Drupal\redis\Cache\CacheBackendFactory',
'arguments' => ['@redis.factory', '@cache_tags_provider.container'],
],
'cache.container' => [
'class' => '\Drupal\redis\Cache\PhpRedis',
'factory' => ['@cache.backend.redis', 'get'],
'arguments' => ['container'],
],
'cache_tags_provider.container' => [
'class' => 'Drupal\redis\Cache\RedisCacheTagsChecksum',
'arguments' => ['@redis.factory'],
],
],
];
// Set a fixed prefix so that all requests share the same prefix, even if
// on different domains.
{% if drupal.jail is defined %}
$settings['cache_prefix'] = '{{ drupal.jail.name }}_{{ item.shortname|default("default") }}_';
{% else %}
$settings['cache_prefix'] = '{{ item.shortname|default("default") }}_';
{% endif %}
}
if (file_exists(__DIR__ . '/settings.local.php')) {
include __DIR__ . '/settings.local.php';
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment