Je me demande s'il existe un moyen de vérifier si une clé existe déjà dans une liste redis?
Je ne peux pas utiliser un ensemble car je ne veux pas imposer l'unicité, mais je veux pouvoir vérifier si la chaîne est réellement là.
Je me demande s'il existe un moyen de vérifier si une clé existe déjà dans une liste redis?
Je ne peux pas utiliser un ensemble car je ne veux pas imposer l'unicité, mais je veux pouvoir vérifier si la chaîne est réellement là.
Je suis surpris que personne n'ait mentionné l' ensemble , ce qui a parfaitement résolu la question. En utilisant la valeur de la clé sismember dans set , il vérifie si la valeur est un membre de la clé. Voici l'exemple :
redis 127.0.0.1:6379> SADD myset1 "hello"
(integer) 1
redis 127.0.0.1:6379> SISMEMBER myset1 "hello"
(integer) 1
redis 127.0.0.1:6379> SISMEMBER myset1 "world"
(integer) 0
Non, il n'y a aucun moyen de vérifier si une liste redis contient une valeur donnée. Voir les commandes de la liste Redis pour référence.
Je suppose que vous pouvez utiliser LREM
pour (essayer de) supprimer la valeur et vérifier la valeur de retour pour voir si elle a été supprimée. Mais alors vous devrez le remettre en place, et cela semble incertain. Il existe probablement une meilleure solution à votre problème - qu'essayez-vous d'accomplir ?
Vous pouvez également utiliser LPOS
.
Lorsque l'élément existe, il renvoie un nombre indiquant la position :
LPOS mylist myitem
3
Sinon, il renvoie nill
:
LPOS mylist myitem_which_do_not_exits
(nil)
Remarques:
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.