GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Types de données Redis avec commandes :guide complet

Présentation

Redis est une solution de base de données non relationnelle remarquablement rapide. Son modèle de données clé-valeur simple permet à Redis de traiter de grands ensembles de données tout en maintenant des vitesses de lecture-écriture et une disponibilité impressionnantes.

Redis vous permet d'utiliser divers types de données tels que des listes, des hachages, des ensembles et des ensembles triés pour stocker et gérer des données.

Dans ce didacticiel, découvrez comment les types de données Redis travailler et maîtriser les commandes de base pour chaque type de données.

Types de données Redis

Une base de données clé-valeur structure les données en appliquant une clé unique à chaque objet de données. Utilisez la clé pour gérer et récupérer les valeurs affectées à cette clé spécifique. Toute séquence binaire d'une taille maximale de 512 Mo peut être utilisée comme clé Redis, puis associée à des chaînes simples ou à d'autres structures de données abstraites.

Les clés Redis sont mappées à des valeurs en utilisant l'un des sept types de données différents :

  • Chaînes
  • Listes
  • Hachages
  • Ensembles
  • Ensembles triés
  • HyperLogLogs
  • Bitmaps (BitStrings)

Chaque type de données Redis possède son propre ensemble de commandes pour les modèles d'accès de routine, la prise en charge des transactions et les opérations en bloc si vous n'avez pas installé Redis, utilisez nos guides détaillés pour installer Redis sur Ubuntu ou déployer Redis sur Docker.

Chaînes

Une chaîne représente la plus petite valeur que vous pouvez attacher à une clé. La taille maximale autorisée d'une valeur de chaîne est de 512 Mo, contenant n'importe quelle séquence de caractères. Dans Redis, la partie clé de la paire clé-valeur est également une chaîne.

Les bases de données utilisant ce type de structure de données sont souvent appelées magasins clé-valeur chaîne à chaîne.

Avec toutes les données dans un seul objet, les opérations de chaîne dans Redis sont extrêmement rapides. Commandes Redis de base comme SET , GET , et DEL vous permettent d'effectuer des opérations essentielles sur la valeur de la chaîne.

  • SET key value – Définit la valeur de la clé spécifiée.
  • GET key – Récupère la valeur de la clé spécifiée.
  • DEL key – Supprime la valeur de la clé donnée.

L'exemple suivant illustre comment utiliser ces commandes simples dans le redis-cli coquille interactive. Le SET La commande ajoute la valeur à la clé tandis que GET La commande récupère et affiche la valeur. Si aucune valeur n'est mappée à la clé, le GET la sortie de la commande est (nil) .

Si une valeur existe, la sortie pour le DEL La commande affiche le nombre d'éléments en cours de suppression. L'ajout de nouvelles clés et valeurs n'affecte pas les performances de la base de données ni les vitesses de traitement.

Listes

Redis vous permet d'associer une séquence ordonnée de chaînes à une clé. Cette liste liée de chaînes vous permet d'effectuer un ensemble d'opérations telles que :

  • LPUSH – Pousse la valeur à l'extrémité gauche de la liste.
  • RPUSH – Pousse la valeur à la fin de la liste.
  • LRANGE – Récupère une gamme d'éléments.
  • LPOP/RPOP – Utilisé pour afficher et supprimer des éléments des deux côtés.
  • LINDEX – Obtenir une valeur à partir d'une position spécifique dans la liste.

Lors de l'ajout de valeurs à une liste avec le LPUSH/RPUSH commandes, la sortie fournit le nombre actuel d'éléments. Vous pouvez ensuite récupérer la liste entière en utilisant le LRANGE commande avec 0 comme début et -1 signifiant le dernier élément de l'index.

Récupérer une valeur spécifique de la liste liée à l'aide du LINDEX commander ou supprimer des éléments avec le LPOP/RPOP commande.

L'ajout de valeurs à une liste chaînée est une opération efficace qui n'affecte pas les vitesses d'écriture quelle que soit sa taille. Cependant, la lecture des données d'une liste liée peut dépendre du nombre de chaînes du côté valeur de la paire clé-valeur.

Hachages

Un hachage Redis stocke un mappage non ordonné de paires clé-valeur. Une clé de hachage est associée à une valeur. La valeur est une chaîne Redis qui contient d'autres paires clé-valeur. Vous ne pouvez pas utiliser d'autres structures de données complexes, telles que des ensembles, des listes ou d'autres hachages comme valeurs.

Les commandes de hachage de base vous permettent d'accéder à des champs individuels ou multiples et de les modifier indépendamment.

  • HSET – Mapper une valeur à une clé dans le hachage.
  • HGET – Récupère les valeurs individuelles associées à une clé dans le hachage.
  • HGETALL – Affiche l'intégralité du contenu de hachage.
  • HDEL – Supprime une paire clé-valeur existante d'un hachage.

Chaque fois qu'un élément est ajouté au hachage avec le HSET commande, une valeur de retour (integer) n vous informe si une entrée existe déjà et le nombre d'instances. Cette même information est fournie lors de l'utilisation du HDEL commande.

Ensembles

Un ensemble Redis est une collection non ordonnée de chaînes uniques. Comme les ensembles ne sont pas ordonnés, vous ne pouvez pas supprimer les éléments du début ou de la fin de l'index comme avec les listes. Cependant, les chaînes sont uniques et il est impossible que plusieurs instances du même élément apparaissent dans un ensemble.

Utilisez les commandes suivantes pour ajouter, supprimer, récupérer et inspecter des éléments individuels d'un ensemble :

  • SADD – Ajouter un ou plusieurs éléments à un ensemble.
  • SISMEMBER – Découvrez si un élément fait partie d'un ensemble.
  • SMEMBERS – Récupère tous les éléments d'un ensemble.
  • SREM – Supprime un élément existant d'un ensemble.

L'ajout du même élément plusieurs fois à un ensemble produit toujours une seule copie. Par conséquent, vous n'avez pas besoin d'utiliser le SMEMBERS ou SISMEMBER commande pour déterminer si un élément est déjà membre d'un ensemble.

Utilisez le SADD commande pour s'assurer qu'il n'y a pas d'entrées en double dans un ensemble.

Ensembles triés

Ensembles triés ou ZSET s sont l'un des types de données les plus avancés de Redis.

La partie valeur d'une paire clé-valeur triée est composée d'un élément de chaîne unique (clé) appelé membre , et un élément (valeur) est appelé un score . Les ensembles triés mappent chaque élément à une valeur à virgule flottante (score ) et utilisez cette valeur pour trier les éléments dans un ordre spécifique.

Vous pouvez accéder aux éléments des ensembles triés par membre, ordre de tri et valeurs de score. Les commandes de base vous permettent de récupérer, d'ajouter, de supprimer des valeurs individuelles ou de récupérer des éléments en fonction des valeurs des membres et des plages de scores.

  • ZADD – Ajoute un membre avec un score à l'ensemble trié.
  • ZRANGE – Récupère les éléments en fonction de leur position dans l'ordre trié. Le withscores l'option produit les valeurs de score réelles.
  • ZRANGEBYSCORE – Récupère les éléments de l'ensemble trié en fonction de la plage de scores définie. Le withscores l'option produit les valeurs de score réelles.
  • ZREM Supprime des éléments d'un ensemble trié.

Seul le membre la valeur de la paire membre-score est traitée comme unique. Si vous associez deux scores différents au même membre valeur, seul le dernier ajout sera présent dans l'ensemble trié. Si deux membres différents ont le même score, Redis classe les valeurs par ordre alphanumérique.

HyperLogLogs

Les HyperLogLogs fournissent une estimation du nombre d'éléments uniques dans une collection. Contrairement à d'autres solutions, les éléments d'un HyperLogLogs ne sont pas comptés individuellement, car cela nécessiterait de garder une trace des éléments précédents pour éviter de compter deux fois le même élément. Une telle opération nécessite une quantité de mémoire égale à la mémoire utilisée pour stocker les données.

La structure HyperLogLog utilise un algorithme probabiliste beaucoup plus efficace qui estime la taille d'un ensemble au lieu de compter chaque élément. Le taux d'erreur du devis est inférieur à 1 %.

Les commandes HyperLogLog vous permettent d'ajouter des éléments, de récupérer un nombre estimé d'éléments uniques et de créer une union de plusieurs HyperLogLogs.

  • PFADD – Ajouter un ou plusieurs éléments à un HyperLogLog.
  • PFCOUNT – Récupérez une estimation du nombre d'éléments uniques à partir d'un seul HyperLogLog.
  • PFMERGE – Fusionner différents HyperLogLogs en un seul HyperLogLog.

La précision des résultats peut varier en fonction de la taille de la collection. Cependant, si vous n'avez pas besoin d'un nombre exact d'éléments, cette structure probabiliste vous permet d'utiliser seulement une fraction de la mémoire dont vous auriez autrement besoin.

Bitmaps

Une chaîne Redis est une séquence binaire d'une taille maximale de 512 mégaoctets. Les bitmaps vous permettent de manipuler des chaînes au niveau du bit en utilisant les commandes appropriées.

  • SETBIT – Le bit est défini ou effacé sur la base d'une valeur 0 ou 1.
  • GETBIT – Récupère la valeur de bit pour la valeur de chaîne spécifiée par une clé.
  • BITOP – Exécuter des opérations au niveau du bit entre les chaînes.
  • BITPOS – Localisez le premier bit défini sur 1 ou 0 dans une chaîne.
  • BITCOUNT – Compter le nombre de bits mis à 1 dans une chaîne.

Être capable de manipuler des morceaux d'une chaîne offre des possibilités exceptionnelles d'économie d'espace. Il permet également d'accéder et de travailler directement sur les éléments fondamentaux des données.


Ubuntu
  1. Architecture Apache Hadoop expliquée (avec diagrammes)

  2. Types de données Cassandra :intégrés, de collecte et définis par l'utilisateur

  3. Démarrer avec Vagrant sur Ubuntu 14.10 - Un guide pour débutants

  4. Chiffrez vos données avec EncFS sur Ubuntu 15.10

  5. Ce guide d'étude se trompe-t-il sur les commandes permettant de déterminer les types de fichiers ?

Commandes Linux - Guide complet

Commandes Nmap avec exemples

Un guide sur l'installation d'Ubuntu 15.04 avec des captures d'écran

Copier des données avec rsync sur Ubuntu

Comment configurer la réplication Redis (avec le mode cluster désactivé) dans CentOS 8 - Partie 1

Guide hPanel complet