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:
- Connexion du référentiel de backports . La version du référentiel standard est trop ancienne.
- Installer avec
aptitude install -t jessie-backports redis-server redis-tools
Contenu de l'article:
- Настраиваем оптимальную конфигурацию 1 Configuration de la configuration optimale
- Кэширование php сессий Caching php sessions
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"
