MISE À JOUR 06-11-2021
Il existe différentes façons de supprimer tous les éléments de la Liste :
Étape 1: Utilisation de la commande générale DEL pour supprimer n'importe quelle clé dans Redis comme la solution d'Anurag
DEL list
Étape 2: Utilisation de la commande LTRIM et application de la prochaine condition de la documentation
si le début est supérieur à la fin de la liste, ou si le début > fin, le résultat sera une liste vide (ce qui entraîne la suppression de la clé).
DONC l'une des commandes suivantes fonctionnera ou la solution de Mohd Abdul Mujib
LTRIM list 999 0
LTRIM list 1 0
LTRIM list 4 1
Mais faites attention à utiliser des nombres négatifs comme indice de début, comme indiqué dans la documentation
le début et la fin peuvent également être des nombres négatifs indiquant des décalages à partir de la fin de la liste, où -1 est le dernier élément de la liste, -2 l'avant-dernier élément, et ainsi de suite.
La commande suivante supprimera tous les éléments sous la liste SI la liste inclut plus d'un élément MAIS SI la liste inclut seulement un élément, rien ne sera supprimé
LTRIM list -1 0
Expliquer
Premier cas (liste incluant plus d'un élément) l'indice -1
en tant que début se traduira par le dernier élément qui a l'indice 4
(si la liste inclut 4 éléments) DONC la condition début > fin
a été appliquée
Deuxième cas (liste incluant un élément) l'indice -1
en tant que début se traduira par le dernier élément qui a l'indice 0
donc la condition devient début == fin
pas début > fin
Voici un exemple des commandes ci-dessus :
redis 127.0.0.1:6379> RPUSH mylist four 1 3 1
(integer) 4
redis 127.0.0.1:6379> KEYS *
1) "test4"
2) "firstList"
3) "mylist"
redis 127.0.0.1:6379> LTRIM mylist 999 0
OK
redis 127.0.0.1:6379> KEYS *
1) "test4"
2) "firstList"
redis 127.0.0.1:6379> RPUSH mylist four 1 3 1
(integer) 4
redis 127.0.0.1:6379> KEYS *
1) "test4"
2) "firstList"
3) "mylist"
redis 127.0.0.1:6379> LTRIM mylist -1 0
OK
redis 127.0.0.1:6379> LRANGE mylist 0 -1
(empty list or set)
redis 127.0.0.1:6379> KEYS *
1) "test4"
2) "firstList"
redis 127.0.0.1:6379> RPUSH mylist four
(integer) 1
redis 127.0.0.1:6379> KEYS *
1) "test4"
2) "firstList"
3) "mylist"
redis 127.0.0.1:6379> LTRIM mylist -1 0
OK
redis 127.0.0.1:6379> KEYS *
1) "test4"
2) "firstList"
3) "mylist"
2 votes
@DavidJames: Considérez-le comme une autre façon d'écrire "foo." Je suis en train de suivre la convention utilisée dans la propre documentation de Redis : redis.io/commandes
0 votes
Oui, dans redis, toutes les structures de données sont des clés. Cela ne signifie pas que 'key' est utile dans un exemple. Tout le contraire, je pense. Utiliser
mylist
rendrait votre question plus claire. Par exemple, redis.io/commands/ltrim écrit :LTRIM mylist 1 -1
. La page que vous citez est une référence de commande et ne doit pas être considérée comme une "convention" pour créer de bons exemples.