transaction Redis
Redis transaction exécuter plusieurs commandes à la fois, et avec deux garanties importantes:
- Une transaction est une action de quarantaine distincte: Toutes les commandes sont exécutées séquentiellement transaction sérialisée. Lors de l'exécution de la transaction ne sera pas envoyé par le client pour demander une commande interrompue.
- Une transaction est une opération atomique: commandes dans la transaction sont soit tous exécutés ou pas tous exécutés.
Une opération du début à l'exécution à travers les trois étapes suivantes:
- Commencez la transaction.
- Commande dans l'équipe.
- La branche d'application.
Exemples
Ce qui suit est un exemple d'une transaction, il a commencé une entreprise avecMULTI, puis plusieurs commandes en équipes à la transaction, déclenchée par la dernière commande EXECtransaction, ainsi que toutes les commandes dans une transaction:
redis 127.0.0.1:6379> MULTI OK redis 127.0.0.1:6379> SET book-name "Mastering C++ in 21 days" QUEUED redis 127.0.0.1:6379> GET book-name QUEUED redis 127.0.0.1:6379> SADD tag "C++" "Programming" "Mastering Series" QUEUED redis 127.0.0.1:6379> SMEMBERS tag QUEUED redis 127.0.0.1:6379> EXEC 1) OK 2) "Mastering C++ in 21 days" 3) (integer) 3 4) 1) "Mastering Series" 2) "C++" 3) "Programming"
commande de transaction Redis
Le tableau suivant répertorie les commandes pour les questions de redis:
Non. | Commande et la description |
---|---|
1 | JETER Annuler la transaction, renoncer à toutes les commandes dans un bloc de transaction. |
2 | EXEC Exécuter toutes les transactions au sein du bloc. |
3 | MULTI Elle marque le début d'un bloc de transaction. |
4 | unwatch Annuler commande WATCH pour surveiller toutes les touches. |
5 | REGARDEZ clé [key ...] Surveiller un (ou plusieurs) touche, si cette clé (ou ces) a été modifié d'autres commandes avant que la transaction est exécutée, la transaction sera interrompue. |