Direkt zum Inhalt

Einrichtung eines Redis-Caches für einen Drupal-Cache

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-redis

Installation auf Drupal:

composer require 'drupal/redis:^1.10'
Vendor/bin/drush en redis

Konfiguration 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-cli

Anmelden (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

 

 

 

 

 

 

 

Profile picture for user admin Stephane K

Écrit le

Il y'a 4 Tage
Modifié
Il y'a 4 Tage
Lädt...
WhatsApp
Habeuk Support: +49 152 108 01753
Senden