Programmation PHP/Redis

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche



Installation[modifier | modifier le wikicode]

Redis est comme Memcached, un système de gestion de base de données clef-valeur scalable, très hautes performances. En 2019, il devient plus utilisé que Memcached car il possède plus de fonctionnalités[1]. Par exemple il permet en plus une persistance sur la mémoire morte utile pour les reprises sur panne, autoriser les groupes de paires clé-valeur, et gère mieux le parallélisme[2].

Pour l'installer :

sudo apt-get install redis-server

Test :

telnet localhost 6379

Reset mémoire :

echo "FLUSHALL" | nc -q 1 localhost 6379

Commandes[modifier | modifier le wikicode]

Pour se loguer au serveur Redis :

telnet nom_du_serveur 6379

Les commandes Redis les plus utiles[3] :

  • MONITOR : pour suivre l'activité du serveur en temps réel.
  • FLUSHALL : pour vider toute la base de données.
  • QUIT : quitter.

Pour afficher les clés de la base en shell :

redis-cli KEYS '*'

Par défaut, redis-cli pointe sur 127.0.0.1. Pour regarder une autre machine :

redis-cli -h redis.example.com KEYS '*'


Utilisation en PHP[modifier | modifier le wikicode]

$redis = new \Redis();
$redis->connect('localhost', 6379);
$redis->set('nom du test', 'valeur du test');
echo $redis->get('nom du test');

Dans Symfony[modifier | modifier le wikicode]

Avant Symfony 4.1, il fallait passer par un bundle tel que https://github.com/snc/SncRedisBundle/blob/master/Resources/doc/index.md.

Depuis Symfony 4.1, le composant HttpFoundation contient une classe RedisSessionHandler[4].

Références[modifier | modifier le wikicode]