Redisの応用--分散ロック
Redis
文書ディレクトリ Redis アプリケーション 分散ロック ソリューション 適用
ぶんさんロック反発 デッドロック 許容誤差 ソリューションは通常redisのnxデータを使用し、次の文ではkeyは対応する接頭辞+プライマリキーを使用し、valueはランダム値UUIDを使用し、タイムアウト時間は30秒に設定されています.
ロック解除:luaスクリプトを使用してkey値を取得し、元に保存したランダム値と同じかどうかを判断します.同じように削除します.同じではありません.redisのこのデータはあなたが挿入したものではありません.削除できません. RedisベースのRedLockは、クラスタ環境で行う必要があり、同様の操作が必要であるが、同時にクラスタの半分以上のマシンにロックをかけることを保証する必要があり、ロックに成功する.ロック解除も同様 Zookeeperに基づいて、一時ノードを設定し(自分のマシンがオフになった後、自動的にこのノードを削除します)、設定に成功したらロックし、設定に成功しません.これはリスナーを設定し、このノードが削除したイベント を傍受します.
文書ディレクトリ
ぶんさんロック
set key value nx 30
ロック解除:luaスクリプトを使用してkey値を取得し、元に保存したランダム値と同じかどうかを判断します.同じように削除します.同じではありません.redisのこのデータはあなたが挿入したものではありません.削除できません.
,
, CountDownLatch
CountDownLatch