Redisの事務


redisのトランザクションは、コマンドのセットです.トランザクションはコマンドと同様にredisの最小実行単位であり、1つのトランザクションのコマンドはすべて実行されるか、実行されません.トランザクションの原理は、トランザクションに属するコマンドをredisに送信してから、redisにこれらのコマンドを順次実行させることです.
1.取引コマンド
mullti
...
...
exec

同じトランザクションで実行するすべてのコマンドをRedisに送信すると、execコマンドを使用して実行待ちのトランザクションキュー内のすべてのコマンドを送信順に順次実行します.execコマンドの戻り値は、これらのコマンドの戻り値からなるリストであり、戻り値の順序とコマンドの順序は同じです.
2.エラー処理
(1)構文エラー.構文エラーとは、コマンドが存在しないか、コマンドパラメータの個数が間違っていることを意味します.
構文エラーがあるコマンドがある限り、execコマンドを実行するとredisはエラーを直接返し、構文が正しいコマンドも実行しません.
(2)運転エラー.実行エラーとは、コマンド実行時に発生するエラーを指します.このエラーは、実際に実行する前にredisでは発見できないため、トランザクションではredisに受け入れられて実行されます.トランザクション内の1つのコマンドに実行エラーが発生した場合、トランザクション内の他のコマンドは引き続き実行されます(エラーコマンドの後のコマンドも含まれます).
redisトランザクションには、リレーショナル・データベースが提供するロールバック機能はありません.
3.watchコマンド
watchコマンドは、1つ以上のキーを監視できます.1つのキーが変更(または削除)されると、その後のトランザクションは実行されません.モニタはexecコマンドまで継続します.トランザクションのコマンドはexecの後に実行されるため、multiコマンドの後にwatchモニタリングのキー値を変更できます.
set wa 1
watch wa
set wa 2
multi
set wa 3
set we 2
exec
watchコマンドを実行すると、トランザクションを実行する前にkey値が変更されるため、最後のトランザクションのコマンドはすべて実行されず、execは空の結果を返します.
execコマンドを実行すると、すべてのキーのモニタリングがキャンセルされます.トランザクション内のコマンドを実行したくない場合はunwatchコマンドを使用してモニタリングをキャンセルすることもできます.