Drupal propose plusieurs système de cache, notamment APCu, backend.
Pour application développer sous Drupal, il faut mettre un accent particulier sur le cache, et Redis est un performant ayant déjà un module pour faciliter son intégration et sa configuration.
Installation au niveau du serveur
sudo apt install redis-server php8.3-redis
Installation sur Drupal :
composer require 'drupal/redis:^1.10'
Vendor/bin/drush en redis
Configuration au niveau du serveur: /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é !
Configuration au niveau du fichier settings.php de Drupal:
/**
* Configuration de PhpRedis
*/
// ////////////////////////
// Activer Redis pour cache/sessions/locks
$settings['redis.connection']['interface'] = 'PhpRedis';
$settings['redis.connection']['host'] = '127.0.0.1';
$settings['redis.connection']['password'] = 'hbk_565sKJDpjd695';
$settings['redis.connection']['port'] = 6379;
$settings['redis.connection']['persistent'] = TRUE;
// Cache par défaut (bins principaux)
$settings['cache']['default'] = 'cache.backend.redis';
/**
* Amorcage de Drupal.
*/
// Amorçage du noyau Drupal (utilisation de ACPu si disponible).
$settings['cache']['bins']['bootstrap'] = 'cache.backend.chainedfast';
// Config active (YAML importé en DB)
$settings['cache']['bins']['config'] = 'cache.backend.chainedfast';
// Découverte des plugins
$settings['cache']['bins']['discovery'] = 'cache.backend.chainedfast';
/**
* Bin lourd
*/
$settings['cache']['bins']['render'] = 'cache.backend.redis';
$settings['cache']['bins']['page'] = 'cache.backend.redis';
// Sessions Redis (optionnel mais recommandé pour la cohérence)
$settings['session_storage']['container'] = 'session.storage.redis';
$settings['redis_serialization_php_igbinary'] = TRUE; # Si igbinary est installé
// Verrous Redis (évite les conflits en cluster)
$settings['container_yamls'][] = 'modules/contrib/redis/example.services.yml';
$settings['container_yamls'][] = 'modules/contrib/redis/redis.services.yml';
Verifier que le cache redis est bien utilisé:
dd(\Drupal\Core\Cache\Cache::getBins());

Quelques commandes utile pour redis:
Pour ce connecter :
redis-cli
S'authentifier:
127.0.0.1:6379> AUTH passWord
Quitter:
127.0.0.1:6379> QUIT
#Affiche le nombre de clée stockées:
127.0.0.1:6379> DBSIZE
#information sur la memoire:
127.0.0.1:6379> INFO memory
#Scanner les données :
127.0.0.1:6379> SCAN 0 MATCH drupal* COUNT 50