Dans ce récent article de blog , nous avons découvert les six types de données gérés par Redis. Les listes Redis « List » contiennent une collection de chaînes « collection of strings », triées selon l’ordre dans lequel elles ont été ajoutées. Cet article développera le type de données « List » et mettra en évidence certaines des principales commandes permettant de les gérer.
Performance des listes
Avec Redis, il est important de noter que les listes sont implémentées sous forme de listes chaînées. Une liste chaînée est une liste dont les nœuds contiennent un champ de données ainsi qu'une référence « suivant » vers le nœud suivant de la liste :
Cela a des implications importantes en termes de performances. Il est rapide d'ajouter des éléments au début et à la fin de la liste, mais il est plus lent de rechercher des éléments dans la liste car nous n'avons pas d'accès indexé aux éléments (comme nous le faisons dans un tableau).
Créer une liste
Une liste est créée à l'aide d'une commande Redis qui transmet les données suivies d'un nom de clé. Il existe deux commandes que nous pouvons utiliser : RPUSH et LPUSH. Si la clé n'existe pas, ces commandes renverront une nouvelle liste avec les arguments passés sous forme d'éléments. Si la clé existe déjà ou s'il ne s'agit pas d'une liste, une erreur est renvoyée.
RPUSH
RPUSH insère un nouvel élément à la fin de la Liste (en queue) :
RPUSH key value [value ...]
Créons une clé "guitars" qui représente une liste de marques de guitares :
RPUSH guitars "Jackson" // 1 RPUSH guitars "Fender" // 2 RPUSH guitars "Gibson" // 3
Chaque fois que nous insérons un élément, Redis répond avec la longueur de la liste après cette insertion. Après les trois affirmations ci-dessus, les guitares doivent contenir les trois éléments suivants :
Jackson Fender Gibson
LPUSH
LPUSH se comporte de la même manière que RPUSH sauf qu'il insère l'élément au début de la Liste (au niveau de l'en-tête) :
LPUSH key value [value ...]
Nous pouvons utiliser LPUSH pour insérer une nouvelle valeur au début de la liste des guitares comme suit :
LPUSH guitars "Ibanez" //4
Nous disposons désormais de quatre guitares, en commençant par "Ibanez" :
Ibanez Jackson Fender Gibson
Créer une liste dans Navicat
Dans l'éditeur Navicat for Redis , les valeurs de liste sont représentées sous forme d'éléments. Cliquer sur le bouton points de suspension « [...] » à droite de l'élément ouvre un éditeur spécial dans lequel vous pouvez saisir des éléments de liste individuels :
Cliquer sur le bouton « Appliquer » ajoute la nouvelle liste ou le nouvel élément.
Une fois ajouté, la position d'un élément dans la liste peut être modifiée à l'aide des boutons flèches vers le haut et vers le bas.
Récupération d'éléments de liste à l'aide de LRANGE
LRANGE renvoie un sous-ensemble de la liste en fonction d'un index de début et d'arrêt spécifié :
LRANGE key start stop
Nous pouvons voir la liste complète en fournissant 0 et -1 pour les index de démarrage et d'arrêt :
LRANGE guitars 0 -1 //returns Ibanez Jackson Fender Gibson
Pendant ce temps, la commande suivante récupère les deux premières guitares :
LRANGE guitars 0 1 //returns Ibanez Jackson
Supprimer des éléments d'une liste avec LPOP et RPOP
LPOP supprime et renvoie le premier élément de la liste tandis que RPOP supprime et renvoie le dernier élément de la liste. Voici quelques exemples:
LPOP guitars //returns Ibanez RPOP guitars //returns Gibson
Dans l'éditeur Navicat, nous pouvons supprimer n'importe quel élément de liste en le sélectionnant et en cliquant sur le bouton supprimer « [-] » situé sous les valeurs de l'élément :
Conclusion
Cet article de blog a mis en évidence certaines des principales commandes de gestion des listes dans Redis, à la fois via redis-cli et en utilisant Navicat for Redis.
Vous souhaitez essayer Navicat for Redis. Télécharger les ici . La version d'essai est entièrement fonctionnelle et gratuite pendant 14 jours.