Manuel chinois ...login
Manuel chinois d'opération de commande Redis
auteur:php.cn  temps de mise à jour:2022-04-12 14:07:28

Transaction Redis


Les transactions Redis peuvent exécuter plusieurs commandes à la fois et sont accompagnées des deux garanties importantes suivantes :

  • Une transaction est une opération unique et isolée : au sein d'une transaction Toutes les commandes seront sérialisées et exécutées dans l'ordre. Lors de l'exécution de la transaction, celle-ci ne sera pas interrompue par les demandes de commandes envoyées par d'autres clients.

  • Une transaction est une opération atomique : soit toutes les commandes de la transaction sont exécutées, soit aucune d'entre elles n'est exécutée.

Une transaction passera par les trois étapes suivantes du début à l'exécution :

  • Démarrer la transaction.

  • Commande pour rejoindre la file d'attente.

  • Exécutez la transaction.


Instance

Ce qui suit est un exemple de transaction. Il démarre une transaction avec MULTI puis met plusieurs commandes en file d'attente. la transaction, et enfin la transaction est déclenchée par la commande EXEC, et toutes les commandes de la transaction sont exécutées ensemble :

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"

Les commandes de transaction Redis

sont répertoriées dans le tableau suivant Commandes liées aux transactions Redis :

序号命令及描述
1DISCARD
取消事务,放弃执行事务块内的所有命令。
2EXEC
执行所有事务块内的命令。
3MULTI
标记一个事务块的开始。
4UNWATCH
取消 WATCH 命令对所有 key 的监视。
5WATCH key [key ...]
监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。

Site Web PHP chinois