Redisのトランザクション
二つの重要な保証でRedisのトランザクションは、一度に複数のコマンドを実行し、:
- トランザクションは、別々の検疫アクションです:すべてのコマンドが順次実行シリアライズさトランザクションです。 トランザクションの実行中に中断コマンドを要求するために、クライアントによって送信されません。
- トランザクションはアトミック操作です:トランザクション内のコマンドが実行されたすべての、またはすべての実行されませんどちらか。
次の三つの段階を経て開始されてから実行にトランザクション:
- トランザクションを開始します。
- チームへのコマンド。
- 執行部。
例
トランザクションの例を次に示し、それは、最初のトランザクションのすべてのコマンドと一緒に、最後のEXECコマンドのトランザクションによってトリガトランザクションへのチームに、その後、MULTIで複数のコマンドを、ビジネスを開始しました:
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"
Redisのtransactionコマンド
次の表は、Redisの事項のためのコマンドを示します:
いいえ。 | コマンドと説明 |
---|---|
1 | DISCARD トランザクションをキャンセルし、トランザクションブロック内のすべてのコマンドをあきらめます。 |
2 | EXEC ブロック内のすべてのトランザクションを実行します。 |
3 | MULTI これは、トランザクションブロックの開始をマーク。 |
4 | UNWATCH キーのすべてを監視するためWATCHコマンドをキャンセルします。 |
5 | [...キー]キーを見ます この(またはこれらの)キーは、トランザクションが実行される前に、トランザクションが中断される他のコマンドを変更された場合は、1つ(またはそれ以上)のキーを監視します。 |