Installation
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
Commandes
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.
Exemple de reset mémoire depuis le shell :
echo "FLUSHALL" | nc -q 1 localhost 6379
redis-cli
Par défaut, redis-cli
pointe sur 127.0.0.1. Pour regarder une autre machine :
redis-cli -h redis.example.com KEYS '*'
Pour afficher les clés de la base en shell :
redis-cli KEYS '*'
Supprimer des clés par leurs noms[4] :
redis-cli --scan --pattern users:* | xargs redis-cli del
Utilisation en PHP
$redis = new \Redis();
$redis->connect('localhost', 6379);
$redis->set('nom du test', 'valeur du test');
echo $redis->get('nom du test');
Dans Symfony
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[5].
![](../../I/Logo_travaux_orange.svg.png.webp)
Références
- ↑ https://aws.amazon.com/fr/elasticache/redis-vs-memcached/
- ↑ https://www.disko.fr/reflexions/technique/redis-vs-memcached/
- ↑ https://redis.io/commands
- ↑ https://rdbtools.com/blog/redis-delete-keys-matching-pattern-using-scan/
- ↑ https://github.com/symfony/symfony/blob/4.1/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/RedisSessionHandler.php