Passer au contenu principal

Comment configurer Redis en tant que serveur de mise en cache



La mise en cache des données dans la RAM via Redis est l’une des méthodes permettant d’accélérer la navigation sur le site. Ce stockage est très efficace et peut être utilisé pour mettre en cache non seulement des sites, mais également des sessions, ainsi qu'une base de données non relationnelle.

L'installation de Redis se fait en deux étapes:


  1. Connexion du référentiel de backports . La version du référentiel standard est trop ancienne.
  2. Installer avec aptitude install -t jessie-backports redis-server redis-tools

Contenu de l'article:

Nous configurons la configuration optimale

Dans Debian, le fichier de configuration se trouve dans le répertoire / etc / redis / et s’appelle redis.conf .

Tout d’abord, vous devez corriger l’erreur avec un nombre maximal de connexions TCP incorrectement spécifié. Ceci est pertinent lorsque vous utilisez des sockets TCP.

Nous imprimons la commande cat /proc/sys/net/core/somaxconn dans la console et définissons le nombre approprié:


  back-tcp 128 

Pour un travail plus rapide, nous permettons de travailler avec un socket Unix.

  unixsocket /var/run/redis/redis.sock
 unixsocketperm 777 

Nous limitons le nombre maximum de clients connectés. Si vous avez besoin de plus de 1024 connexions, vous devrez également modifier la limite du nombre de fichiers simultanément ouverts (ulimit).

  maxclients 1024 

Déterminez la quantité de RAM allouée au cache. Dans le cas d'une valeur nulle, toute la mémoire RAM disponible sera utilisée.


  mémoire maximale 64 Mo 

Nous déterminons la politique de travail avec la mémoire. Avec cette stratégie, en cas de manque de mémoire, les clés les plus anciennes et les moins utilisées seront supprimées pour laisser la place à de nouvelles.

  maxmemory-policy allkeys-lru 

Aussi, pour éviter des problèmes avec le travail de Redis (paragraphe 3 du manuel , eng), vous devez désactiver la fonction du noyau Transparent HugePages.

  # echo never> / sys / kernel / mm / transparent_hugepage / enabled 

Redémarrez pour que les modifications prennent effet.

  # service redis restart 

Et nous ajoutons les lignes suivantes au fichier /etc/rc.local pour que, après le redémarrage du serveur, cette fonction soit désactivée.

  si test -f / sys / kernel / mm / transparent_hugepage / enabled;  alors
    echo never> / sys / kernel / mm / transparent_hugepage / enabled
 fi
 si test -f / sys / kernel / mm / transparent_hugepage / defrag;  alors
    echo never> / sys / kernel / mm / transparent_hugepage / defrag
 fi 

Caching php sessions

Vous pouvez configurer php pour stocker des sessions de plusieurs manières, en fonction de l’offre utilisée.

Directement dans php.ini

  [Session]
 session.save_handler = redis
 session.save_path = "unix: ///run/redis/redis.sock" 

Apache2 et mod_php (dans le fichier hôte virtuel ou apache2.conf)

  <IfModule mod_php5.c>
 php_admin_value session.save_handler "redis"
 php_admin_value session.save_path "unix: ///run/redis/redis.sock"
 </ IfModule> 

PHP-FPM (dans le fichier pool)

  php_admin_value [session.save_handler] = "redis"
 php_admin_value [session.save_path] = "unix: ///run/redis/redis.sock" 


Comment évaluez-vous l'article?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (Pas encore de notes)
Chargement ...

Ajouter un commentaire

Votre email ne sera pas publié.