シーン
Redisのトランザクションの実装プロセス:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/105048241
上記のプロセスの後Redisのトランザクションを使用することを学ぶ、Redisのは時計のメカニズムがあります。
原則メカニズムを見ます
値のキー値が存在する場合、一個の以上のキー、追跡キー値の改正を監視するために使用時計
トランザクションがEXEC実行される前に変更され、トランザクション全体がキャンセルされます。トランザクションが失敗したことを示すのexecプロンプトリターン・メッセージ。
あなたは、キーの期限が切れた場合でも、有効期限付きのキーを監視するために時計を使用する場合でも、トランザクションはまだ正常に実行することができます。
ほとんどの場合、状況は同じキーを競っている間、異なるクライアントは一般的に小さく、楽観的ロックことができますされ、相互に異なるキーを訪問しています
良好なパフォーマンス決意データの矛盾と問題。
場合は、キーの監視をキャンセル
1.watchコマンドは複数回呼び出すことができます。コールのexecまで、時計の後に実行からキー効果のモニタリングに関係なく、トランザクションが正常に実行されたかどうかの、
すべてのキーの監視がキャンセルされます。
2.クライアントの切断時、クライアント・モニタ・キーがキャンセルされます。
3.unwatchコマンドは、手動ですべてのキーの監視をキャンセルすることができます。
楽観的ロック機構との例を見て
(超詳細な)にCentOSにコンパイルRedisのをダウンロードしてインストールします:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334
Redisの起動とシャットダウン(フォアグラウンドとバックグラウンドのスタート開始):
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103972348
RedisDesktopManagerクライアントの可視化ダウンロードしてインストールするためのツールと使用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103983147
良い環境を構築し、Redisのサーバーを起動し、2つのクライアントの接続をオープンするには、上記のブログを参照。
ここでは、XShellので、セッションをコピーするために使用されます
最初のクライアントで設定したキーと値とキーを見て、そのトランザクションをオンにし、execのあるトランザクションをコミットしていません
キー100は、このセッションでコピー・アウトするように修正された第二のクライアントであります
そして、バックexecを実行している最初のクライアントへのトランザクションをコミット
我々は、時計の値が変更されているので、そのトランザクションをあきらめ、クライアントの最初のトランザクションがコミットしなかった見ることができます。