Redis blpop

Redis blpop
Cet article apprendra à utiliser la commande redis blpop pour gérer les listes. Dans Redis, une liste n'est rien d'autre qu'une collection de valeurs de chaîne triées par l'ordre d'insertion.

Les listes sont parmi les types les plus courants et les plus précieux de Redis. Non seulement parce qu'ils offrent une meilleure expérience de mémoire par rapport à d'autres types tels que les hachages, mais parce qu'ils sont faciles à utiliser et à gérer.

Commençons par les bases.

Redis Create List

Étant donné que Redis est une base de données à valeur clé, nous devons créer une clé pour contenir une liste d'éléments.

Redis utilise le concept de gauche et de droite pour ajouter et supprimer les éléments. Ainsi, par exemple, pour ajouter un élément à gauche de la liste, nous utilisons la commande lpush. Pour une insertion droite, utilisez la commande rpush.

Prenez l'exemple ci-dessous:

127.0.0.1: 6379> LPUSH Langues Python
(entier) 1

Dans l'exemple de commande ci-dessus, nous utilisons la commande lpush pour créer une nouvelle clé tenant un élément dans la liste.

Après la création, nous pouvons ajouter des éléments comme indiqué dans l'exemple des commandes ci-dessous:

127.0.0.1: 6379> Langus Lpush Javascript OCAML Elixir C C++

Remarque: vous pouvez également utiliser la commande rpush, comme indiqué dans l'exemple ci-dessous:

127.0.0.1: 6379> Langues RPUSH SQL Java C #

Gardez à l'esprit que l'ordre d'insertion est important dans une liste.

Astuce: une seule liste dans Redis peut contenir jusqu'à 4 milliards d'éléments.

Redis Récupérer les éléments de la liste

Pour récupérer les éléments stockés dans une liste, nous utilisons la commande LRange suivie des valeurs de décalage de démarrage et de fin. Le décalage, dans ce cas, représente l'index de l'élément dans la liste.

L'indexation d'une liste redis commence à 0.

Par exemple, pour récupérer tous les éléments de l'index 0, nous pouvons exécuter la commande:

127.0.0.1: 6379> LANGE LANGE 0 -1

Passer la liste Démarrer le décalage comme 0 et le dernier décalage alors que -1 renvoie tous les éléments de la liste.

La commande doit renvoyer les éléments de la liste comme indiqué:

1) "C ++"

2) «C»

3) "Elixir"

4) «OCAML»

5) "JavaScript"

6) "Python"

7) "SQL"

8) "Java"

9) "C #"

Commandes redis lpop et blpop

En ce qui concerne la suppression des éléments dans une liste, vous rencontrerez deux commandes principales:

LPOP et BOP.

Remarque: vous pouvez en savoir plus sur la commande LREM dans cet article <- click here.

La commande LPOP supprimera et renverra le premier élément de la liste. Un exemple d'utilisation est comme indiqué ci-dessous:

127.0.0.1: 6379> LPOP Langues
"C ++"

Étant donné que la commande LPOP renvoie la valeur réelle supprimée, elle convient au suivi des modifications de votre application.

La commande BLPOP, en revanche, est la version de blocage de la commande LPOP. Il supprime et renvoie le premier élément d'une liste. Cependant, contrairement à la commande LPOP, il bloque la connexion pour une durée spécifiée jusqu'à ce que l'on soit disponible.

Considérez l'exemple ci-dessous:

127.0.0.1: 6379> blpop mykey 10

Nous passons une clé inexistante à la commande BLPOP dans la commande Exemple ci-dessus. Nous spécifions également la durée du blocage à 10 secondes. S'il n'y a pas d'élément disponible dans la liste spécifiée après les écoulements, la commande renvoie nil.

La commande ci-dessus doit revenir (après 10 secondes).

127.0.0.1: 6379> blpop mykey 10
(néant)
(dix.05S)

Si l'élément existe dans la liste spécifiée, il le supprime et le renvoie comme indiqué:

127.0.0.1: 6379> Langues BLPOP 10
1) "Langues"
2) "C"

Dans ce cas, la commande renvoie la clé à partir de laquelle il supprime un élément et l'élément réel supprimé.

Il n'attend pas que la durée spécifiée soit écoulée.

Conclusion

Ce tutoriel a couvert les listes de redis et comment les utiliser dans votre base de données. Nous avons discuté: Créer une liste Redis, l'ajout d'éléments, la récupération des éléments de liste et la suppression des clés d'une liste.

Merci d'avoir lu!!