Le système d'exploitation GNU-Linux/Redis

InstallationModifier

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

Obtenir la version :

redis-server -v
Redis server v=6.2.5 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=19d2f4c94e0b6820

ClientModifier

 sudo apt-get install redis

Sur Docker PHP :

 RUN pecl install redis \
    && docker-php-ext-enable redis

CommandesModifier

Pour se loguer au serveur Redis :

telnet nom_du_serveur 6379

Les commandes Redis les plus utiles[3] :

LectureModifier

  • MONITOR : suivre l'activité du serveur en temps réel.
  • KEYS * : liste des clés.
  • GET : affiche la valeur de la clé en paramètre (ou nil si elle n'existe pas).
  • MGET : affiche les valeurs des clés en paramètre.
  • QUIT : quitter.

ÉcritureModifier

  • SET : définit une valeur associée à la clé en paramètre[4].
  • EXPIRE : définit une durée avant expiration pour la clé en paramètre, en secondes.
  • SETEX : SET + EXPIRE[5].
  • DEL : supprimer par le nom complet de la clé.
  • FLUSHALL : vider toute la base de données.

Exemple de reset mémoire depuis le shell :

echo "FLUSHALL" | nc -q 1 localhost 6379

redis-cliModifier

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 '*'

Supprimer des clés par leurs noms[6] (exemple de celles qui ont le préfixe "users:") :

redis-cli KEYS "users:*" | xargs redis-cli DEL

ou :

redis-cli --scan --pattern users:* | xargs redis-cli DEL

Plusieurs basesModifier

Chaque instance de Redis peut accueillir jusqu'à 16 bases de données[7].

Elles sont accessibles par un suffixe dans leur DSN. Par défaut, redis://localhost:6379 pointe sur la base zéro : redis://localhost/0:6379.


RéférencesModifier

Voir aussiModifier