Transactions
Toutes les commandes au sein de la transaction sont exécutées simultanément. Si l'une des commandes échoue, aucune d'entre elles ne sera exécutée. Cela garantit la cohérence des données en empêchant les modifications partielles ou invalides, même en cas d'erreurs.
Utilisation des transactions
Les transactions sont généralement utilisées lorsque plusieurs opérations sur les données doivent être effectuées ensemble, comme incrémenter un compteur et écrire des données associées dans une autre clé. L'utilisation des transactions garantit que toutes les opérations sont réalisées, ou aucune, préservant ainsi l'intégrité des données.
Commandes principales pour les transactions
Pour démarrer une transaction dans Redis, utiliser la commande MULTI. Cela indique à Redis que toutes les commandes suivantes doivent faire partie de la transaction.
Après avoir lancé MULTI, Redis met en file d'attente les commandes que vous souhaitez inclure dans la transaction.
MULTI
SET key1 "value1"
SET key2 "value2"
Dans cet exemple, les commandes SET key1 "value1" et SET key2 "value2" ne sont pas exécutées immédiatement. Elles sont ajoutées à la file de transaction et exécutées ensemble lorsque la commande EXEC est appelée.
Exécution d'une transaction
Pour exécuter toutes les commandes dans la transaction, utiliser la commande EXEC. Cela exécute chaque commande en file d'attente dans la transaction.
EXEC
Après l'appel à EXEC, les deux opérations SET seront effectuées.
Annulation d'une transaction
Pour annuler une transaction avant son exécution, utiliser la commande DISCARD. Cette commande efface toutes les commandes de la file de transaction, garantissant qu'elles ne seront pas exécutées.
DISCARD
Après l'appel à DISCARD, toutes les commandes ajoutées à la transaction depuis MULTI seront abandonnées et ne seront pas exécutées.
Surveillance des clés pendant une transaction
Pendant une transaction, les commandes sont mises en file d'attente mais ne sont pas exécutées immédiatement. La commande WATCH peut être utilisée pour surveiller des clés spécifiques. Si l'une de ces clés est modifiée avant l'exécution de la transaction, la transaction sera annulée afin d'éviter des conflits de données.
WATCH key1
MULTI
SET key1 "new_value"
EXEC
Dans cet exemple, si la valeur de key1 change avant que la commande EXEC ne soit appelée, la transaction ne sera pas exécutée. Cela garantit la cohérence des données, en particulier lorsque plusieurs clients tentent de modifier la même clé simultanément.
1. Que se passe-t-il si l'une des commandes d'une transaction Redis échoue ?
2. Quelle commande doit être utilisée pour démarrer une transaction Redis ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 3.33
Transactions
Glissez pour afficher le menu
Toutes les commandes au sein de la transaction sont exécutées simultanément. Si l'une des commandes échoue, aucune d'entre elles ne sera exécutée. Cela garantit la cohérence des données en empêchant les modifications partielles ou invalides, même en cas d'erreurs.
Utilisation des transactions
Les transactions sont généralement utilisées lorsque plusieurs opérations sur les données doivent être effectuées ensemble, comme incrémenter un compteur et écrire des données associées dans une autre clé. L'utilisation des transactions garantit que toutes les opérations sont réalisées, ou aucune, préservant ainsi l'intégrité des données.
Commandes principales pour les transactions
Pour démarrer une transaction dans Redis, utiliser la commande MULTI. Cela indique à Redis que toutes les commandes suivantes doivent faire partie de la transaction.
Après avoir lancé MULTI, Redis met en file d'attente les commandes que vous souhaitez inclure dans la transaction.
MULTI
SET key1 "value1"
SET key2 "value2"
Dans cet exemple, les commandes SET key1 "value1" et SET key2 "value2" ne sont pas exécutées immédiatement. Elles sont ajoutées à la file de transaction et exécutées ensemble lorsque la commande EXEC est appelée.
Exécution d'une transaction
Pour exécuter toutes les commandes dans la transaction, utiliser la commande EXEC. Cela exécute chaque commande en file d'attente dans la transaction.
EXEC
Après l'appel à EXEC, les deux opérations SET seront effectuées.
Annulation d'une transaction
Pour annuler une transaction avant son exécution, utiliser la commande DISCARD. Cette commande efface toutes les commandes de la file de transaction, garantissant qu'elles ne seront pas exécutées.
DISCARD
Après l'appel à DISCARD, toutes les commandes ajoutées à la transaction depuis MULTI seront abandonnées et ne seront pas exécutées.
Surveillance des clés pendant une transaction
Pendant une transaction, les commandes sont mises en file d'attente mais ne sont pas exécutées immédiatement. La commande WATCH peut être utilisée pour surveiller des clés spécifiques. Si l'une de ces clés est modifiée avant l'exécution de la transaction, la transaction sera annulée afin d'éviter des conflits de données.
WATCH key1
MULTI
SET key1 "new_value"
EXEC
Dans cet exemple, si la valeur de key1 change avant que la commande EXEC ne soit appelée, la transaction ne sera pas exécutée. Cela garantit la cohérence des données, en particulier lorsque plusieurs clients tentent de modifier la même clé simultanément.
1. Que se passe-t-il si l'une des commandes d'une transaction Redis échoue ?
2. Quelle commande doit être utilisée pour démarrer une transaction Redis ?
Merci pour vos commentaires !