vendredi 17 septembre 2010

Stockez vos sessions PHP dans Redis !

Par défaut PHP stocke les sessions sur le système de fichiers. C'est bien, mais dans un environnement "Load-Balancé", ça ne marche en pratique pas très bien, à moins d'écrire les sessions sur un système de fichiers distants (NFS par exemple), et encore.

Pour palier à ce problème PHP permet de stocker les sessions PHP dans memcache, ce qui est déjà nettement mieux.

Ok, memcache c'est bien, mais Redis, c'est mieux (oui, je suis totalement subjectif là).

J'ai donc développé une petite classe qui permet de stocker vos sessions dans Redis, et donc de bénéficier de ses multiples avantages : vitesse, persistance.

Le code est disponible sous LGPLv3 sur github.

A l'usage, c'est extrêmement simple et transparent :

require_once 'RedisSession.php';

RedisSession::init ( array ( 
        'session_name' => 'redis_session', 
        'cookie_path' => '/', 
        'cookie_domain' => '.acme.org', 
        'lifetime' => 3600, 
        'server' => array ( 
                'host' => 'redis.acme.org', 
                'port' => 6379 ) ) );

Aucun commentaire:

Enregistrer un commentaire