«Les listes de redis sont des listes liées de chaînes commandées en séquence. Les opérations de la liste Redis sont extrêmement efficaces car elles fonctionnent à un temps constant à la tête ou à la queue. Redis est unique dans les magasins de valeurs clés en ce qu'il permet des listes liées, ce qui en fait une structure de liste liée. La longueur maximale d'une liste redis est de 2 ^ 32 - 1 (4 294 967 295) éléments, qui contient plus de 4 milliards d'éléments par liste."
Le diagramme ci-dessus illustre la disposition d'une liste redis sur les éléments et dans le format d'index, qui joue un rôle vital lors de l'utilisation de la commande LPOS.
Bref aperçu de la commande LPOS
La commande LPOS dans Redis renvoie l'index correspondant des éléments d'une liste. De plus, la commande LPOS scanne une liste du premier index vers le dernier index jusqu'à ce qu'un élément correspondant soit trouvé pour l'élément spécifié. Lorsque l'élément de liste spécifié est trouvé, l'index d'élément est renvoyé. Le spécial NÉANT La valeur reviendra quand aucune correspondance n'est trouvée.
Un examen rapide de la syntaxe de la commande LPOS
Lpos list_key list_element [Rank Rank] [compter num-costhes] [maxlen longueur]
Les arguments dans les crochets sont facultatifs. Le comportement normal de la commande LPOS est de renvoyer l'indice de la première occurrence de l'élément spécifié lorsque des arguments facultatifs ne sont pas donnés.
Le RANG L'option est utilisée pour spécifier quelle instance de la valeur à retourner et peut être pratique lorsque la liste se compose de nombreuses occurrences de la même valeur.
Le COMPTER L'option renvoie la position de plusieurs instances de l'élément de liste spécifié.
Le Maxlen L'option est utilisée pour limiter les comparaisons à un montant spécifié. En outre, cela aide à limiter le temps qu'une commande prend pour exécuter, surtout lorsqu'il s'agit d'une grande liste et en attendant qu'un match soit trouvé tôt.
La commande LPOS en action
Création d'une liste Redis appelée «Noms» à l'aide du RPUSH pour démontrer la commande LPOS comme suit:
Rpush nomme "Jenny" "Leon" "Nick" "Jenny" "Heron" "Jenny" "Elle" "Heron"
Résultat
Inspect la sortie de la liste via la commande ci-dessous:
Noms de lrange 0 -1
Résultat
Utilisation de la commande LPOS pour trouver la première instance de «Jenny» comme suit:
LPOS nomme "Jenny"
Résultat
Comme mentionné, lorsqu'aucun argument facultatif n'est spécifié, la commande LPOS renvoie la première occurrence de l'élément.
L'option de rang
Cette option spécifie l'instance de la valeur à renvoyer et est utile lorsque la liste contient plusieurs occurrences de la valeur identique.
La liste créée contient plusieurs occurrences de Jenny et Héron. Dans l'exemple précédent, comme l'option de rang n'a pas été spécifiée, la première instance d'élément a été renvoyée sous forme de sortie.
Utilisation de l'option de rang pour retourner la position de la deuxième instance de Jenny Utilisation de l'exemple ci-dessous:
LPOS nomme "Jenny" Rank 2
Résultat
Ici le RANG L'option est spécifiée comme 2. Ainsi, la commande LPOS renvoie la position de la deuxième instance de l'élément de liste donné, qui est 3. Si l'option de classement est fournie comme 1, elle doit renvoyer la première instance de l'élément spécifié; Si 2 est fourni, il étend l'index de la deuxième instance; 3 produit l'indice de la troisième instance, etc.
Si un rang est spécifié supérieur au nombre d'occurrences, il revient néant:
LPOS nomme "Jenny" Rank 20
Résultat
De plus, l'option de classement peut être utilisée comme rang négatif où il fonctionne en arrière à partir de la queue de la liste:
LPOS Noms "Jenny" Rank -1
Résultat
Ici, -1 est utilisé pour retourner la position de la dernière occurrence de la valeur. Dans ce cas, la position de «Jenny» est le cinquième index.
L'option Count
Cette option est utilisée pour renvoyer la position de plusieurs instances d'une valeur ou d'un élément spécifié:
LPOS Noms "Jenny" Count 2
Résultat
De plus, cette option peut être utilisée pour retourner la position de toutes les instances. Ici, une personne peut utiliser zéro (0) pour dire à la commande de retourner toutes les correspondances selon la nécessité:
Les noms LPOS "Jenny" comptent 0
Résultat
L'option Count peut être combinée avec l'option de rang pour retourner toutes les instances d'un certain point comme suit:
LPOS Noms "Jenny" Rank 2 Count 0
Résultat
L'option maxlen
Le Maxlen est utilisé pour limiter les comparaisons à un montant spécifié et est utile pour limiter le temps que la commande prend pour traiter en période où la liste est grande, et une personne doit trouver une correspondance tôt.
Par exemple,
LPOS nomme "Jenny" Maxlen 2
Résultat
Ici, lorsque le match est trouvé, il renvoie la position ou l'index de l'élément donné.
Lorsque vous utilisez une valeur différente:
LPOS Noms "Elle" Maxlen 2
Résultat
Comme prévu, l'élément «Elle» n'est pas trouvé dans la limite maximale spécifiée de 2.
En outre, une personne peut utiliser zéro (0) pour spécifier un nombre illimité de comparaisons,
LPOS Noms "Elle" Maxlen 0
Résultat
Conclusion
En résumé, la commande LPOS joue un rôle majeur dans les structures de données de la liste redis lors du renvoi de l'index des éléments correspondants sur une liste. La commande LPOS accepte divers arguments qui étendent le comportement de la commande. Dans l'ensemble, il fonctionne constamment près de la tête et de la queue, ou l'option Maxlen est spécifiée, ce qui est très efficace.