Contenu du cours
Introduction à Redis
Introduction à Redis
Commandes INCR et DECR
Ces opérations sont atomiques, ce qui signifie qu'elles sont soit entièrement terminées, soit non exécutées du tout, garantissant la cohérence des données même lorsque plusieurs processus accèdent à Redis simultanément.
Commande INCR
La commande INCR
augmente une valeur numérique de un. Elle est particulièrement utile pour des scénarios comme compter les vues de page ou suivre le nombre de likes.
Simulons une situation où nous suivons le nombre de vues sur une page web :
Si la clé n'existe pas, Redis va la créer et définir sa valeur à 1
. Chaque appel suivant à la commande va augmenter la valeur de 1
, mettant à jour le compteur à 2
, 3
, et ainsi de suite.
Si vous avez besoin d'incrémenter la valeur de la même clé plusieurs fois, vous pouvez utiliser la commande INCRBY
et spécifier de combien vous souhaitez augmenter la valeur.
Dans cet exemple, la commande INCRBY
augmente la valeur de la clé page:main
de 5. Si la valeur initiale était 0, elle deviendra 5 après exécution de la commande.
Commande DECR
La commande DECR
fonctionne de manière similaire à INCR
, mais elle diminue la valeur de un. Ceci est utile dans des scénarios comme le suivi des stocks, où vous devez réduire le compte de stock chaque fois qu'un article est vendu.
Simulons le suivi du nombre de produits disponibles en stock :
Lors du premier appel à la commande, la valeur sera diminuée à -1
. Chaque appel suivant diminuera la valeur de 1
(à -2
, -3
, et ainsi de suite).
Si vous avez besoin de diminuer la valeur de la même clé plusieurs fois, vous pouvez utiliser la commande DECRBY
et spécifier de combien vous souhaitez diminuer la valeur.
Dans cet exemple, la commande DECRBY
diminue la valeur de la clé product:count
de 3. Si la valeur initiale était 10, elle deviendra 7 après exécution de la commande.
1. Que fait la commande INCR
dans Redis ?
2. Que se passe-t-il si la clé n'existe pas lorsque vous utilisez INCR
ou DECR
?
3. Que se passe-t-il si la clé contient une valeur non numérique et que vous utilisez INCR
ou DECR
?
Merci pour vos commentaires !