Blog Navicat

Apeçu des listes Redis 14 Août 2023 par Robert Gravelle

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 :

linked_list (5K)

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 :

guitars_list_in_navicat_editor (66K)

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 :

delete_button_in_navicat_editor (30K)

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.

Partager
Archives du blog