Redisコマンド操作中国語マ...login
Redisコマンド操作中国語マニュアル
著者:php.cn  更新時間:2022-04-12 14:07:28

Redisトランザクション


Redis トランザクションは一度に複数のコマンドを実行でき、次の 2 つの重要な保証が付いています:

  • トランザクションは単一の分離された操作です: トランザクション内のすべてのコマンドはシリアル化され、順番に実行されます。トランザクションの実行中、他のクライアントから送信されたコマンド要求によって中断されることはありません。

  • トランザクションはアトミックな操作です。トランザクション内のすべてのコマンドが実行されるか、まったく実行されないかのどちらかです。

トランザクションは開始から実行まで次の 3 つの段階を経ます:

  • トランザクションを開始します。

  • チームに参加するコマンド。

  • トランザクションを実行します。


インスタンス

は、最初にMULTIでトランザクションを開始し、最後にEXECコマンドがトランザクションをトリガーして実行します。すべてのコマンド:

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 トランザクション コマンド

次の表に、Redis トランザクションの関連コマンドを示します:

5WATCH key [key ...]
シリアル番号 コマンドと説明
1DISCARD
トランザクションをキャンセルし、トランザクションの実行を中止します。 ブロック内のすべてのコマンド。
2EXEC
すべてのトランザクションブロック内でコマンドを実行します。
3MULTI
トランザクションブロックの開始をマークします。
4UNWATCH
WATCHコマンドで全てのキーの監視を解除します。
トランザクションが実行される前に、この (または複数の) キーが他のコマンドによって変更された場合、トランザクションは中断されます。