/ PHP, TUTO

Installer redis pour votre projet Symfony sur CentOS 7

Comme beaucoup, vous avez du déjà voir passer le mot “redis”, au moins dans des articles ou dans des réunions avec des adminsys. Redis est un système de gestion de base de données clef-valeur scalable, très hautes performances, écrit en C ANSI et distribué sous licence BSD.

Sa vitesse et sa facilité d’utilisation en font l’une des solutions les plus populaires de système de cache pour toutes les applications qui nécessitent de bonnes performances et notamment les applications web qui ont besoin d’afficher des pages très rapidement.

En plus, si vous voulez l’intégrer à votre projet Symfony, ce n’est pas très compliqué :)

allonsy

Installation de redis sur le serveur CentOS 7

Ajoutez le repo EPEL et faites un yum update pour confirmer votre modification:
sudo yum install epel-release
sudo yum update
Installez Redis:
sudo yum install redis
Démarrer Redis
sudo systemctl start redis
Facultatif :

Pour démarrer automatiquement Redis au démarrage du serveur (ça peut éviter les mauvaises suprises lors de reboot)

sudo systemctl enable redis
Vous pouvez faire un test via cette commande:
redis-cli ping
Si redis est en cours d’exécution, il vous répondra
PONG

Remarque: si vous souhaitez faire un cluster redis, je vous conseille le tuto de data-essential ou de digital ocean qui sont très bien fait.

Maintenant que redis est installé sur le serveur, occupons nous du projet Symfony.

Installation de SncRedisBundle

Il existe deux versions du bundle, l’une utilisant une extension PHP qu’il vous faudra installer sur votre système d’exploitation, l’autre qui utilise la librairie Phredis (et qui ne nécessite pas l’installation de l’extension). C’est de la version Phredis dont il s’agit ici.

Allez dans le dossier de votre projet symfony avec cd. Une fois dans votre projet, vous pouvez installer le bundle avec Composer:

composer require snc/redis-bundle predis/predis

Ensuite, modifiez le fichier app/AppKernel.php (avec votre éditeur de texte préféré) et ajoutez le nouveau bundle :)

    $bundles = array(
        // ...
        new Snc\RedisBundle\SncRedisBundle(),
        // ...
    );

Configuration de SncRedisBundle

Pour stocker vos sessions dans Redis, il vous suffit d’ajouter la configuration ci-dessous:

dans votre fichier config.yml:

snc_redis:
    clients:
        default:
            type: predis
            alias: default
            dsn: redis://localhost
    session:
        client: default
        prefix: session

Vous pouvez configurer beaucoup d’éléments et faire face à de nombreux cas d’utilisation. Pour cela, direction le README.

Et voila, vous avez votre nouveau système de cache, et ça c’est beau.

youareawesome

schaptal

Sébastien Chaptal

Développeur web, buveur de café et je tente parfois de conquérir le monde dans des jeux de grande stratégie

Read More