Drupal bietet mehrere Cache-Systeme, darunter APCu und Backend.
Bei Anwendungen, die unter Drupal entwickelt werden, muss besonderes Augenmerk auf den Cache gelegt werden. Redis ist ein leistungsstarkes System, für das es bereits ein Modul gibt, das die Integration und Konfiguration erleichtert.
Installation auf Serverebene
sudo apt install redis-server php8.3-redisInstallation auf Drupal:
composer require 'drupal/redis:^1.10'
Vendor/bin/drush en redisKonfiguration auf Serverebene: /etc/redis/redis.conf
bind 127.0.0.1
port 6379
maxmemory 4GB # 10-15% de la RAM totale
maxmemory-policy allkeys-lru # Éviction LRU si mémoire pleine
save "" # Désactive la persistance (optionnel pour cache)
requirepass "votre_mot_de_passe_secure" # Sécurité !arten Sie redis neu:
sudo systemctl restart redis-server
sudo systemctl enable redis-server
Konfiguration in der Datei settings.php von Drupal:
/**
* Konfiguration von PhpRedis
*/
// ////////////////////////
// Redis für Cache/Sitzungen/Sperren aktivieren
$settings['redis.connection']['interface'] = 'PhpRedis';
$settings['redis.connection']['host'] = '127.0.0.1';
$settings['redis.connection']['password'] = 'votre_mot_de_passe';
$settings['redis.connection']['port'] = 6379;
$settings['redis.connection']['persistent'] = TRUE;
// Standard-Cache (Haupt-Bins)
$settings['cache']['default'] = 'cache.backend.redis';
/**
* Drupal starten.
*/
// Booten des Drupal-Kernels (Verwendung von ACPu, falls verfügbar).
$settings['cache']['bins']['bootstrap'] = 'cache.backend.chainedfast';
// Aktive Konfiguration (YAML in DB importiert)
$settings['cache']['bins']['config'] = 'cache.backend.chainedfast';
// Entdecken Sie die Plugins
$settings['cache']['bins']['discovery'] = 'cache.backend.chainedfast';
/**
* Bin schwer
*/
$settings['cache']['bins']['render'] = 'cache.backend.redis';
$settings['cache']['bins']['page'] = 'cache.backend.redis';
// Redis-Sitzungen (optional, aber aus Gründen der Konsistenz empfohlen)
$settings['session_storage']['container'] = 'session.storage.redis';
$settings['redis_serialization_php_igbinary'] = TRUE; # Si igbinary est installé
// Redis-Sperren (vermeidet Konflikte im Cluster)
$settings['container_yamls'][] = 'modules/contrib/redis/example.services.yml';
$settings['container_yamls'][] = 'modules/contrib/redis/redis.services.yml';Überprüfen Sie, ob der Redis-Cache ordnungsgemäß verwendet wird:
dd(\Drupal\Core\Cache\Cache::getBins());
Einige nützliche Befehle für redis:
So melden Sie sich an:
redis-cliAnmelden (ersetzen Sie [Passwort] durch Ihr Passwort):
127.0.0.1:6379> AUTH [password]Beenden:
127.0.0.1:6379> QUIT#Zeigt die Anzahl der gespeicherten Schlüssel an:
127.0.0.1:6379> DBSIZE
#Informationen zum Speicher:
127.0.0.1:6379> INFO memory
#Daten scannen:
127.0.0.1:6379> SCAN 0 MATCH drupal* COUNT 50