Redisson 分散ロック ソースコード 11: セマフォと CountDownLatch

Redisson 分散ロック ソースコード 11: セマフォと CountDownLatch

[[409707]]

序文

分散ロックに加えて、Redisson は追加の同期コンポーネントである Semaphore と CountDownLatch も提供します。

1. セマフォ

つまり、分散シナリオでは資格情報は 3 つだけであり、同時にビジネスを実行するスレッドは 3 つだけであることを意味します。

資格情報の設定

パラメータリスト:

  • KEYS[1]: 指定されたキーはここではセマフォと呼ばれます
  • キー[2]:redisson_sc:{セマフォ}
  • ARGV[1]: 資格情報の数 3

この Lua スクリプトは比較的単純で、キーの値を直接 3 に設定します。

資格情報を取得する

パラメータリスト:

  1. KEYS[1]: 指定されたキーはここではセマフォと呼ばれます
  2. ARGV[1]: 取得する資格情報の数。デフォルトは1

この lua スクリプトは次のとおりです。

  1. キーセマフォの値を取得する
  2. 値が1(取得する資格情報の数)以上の場合は、値を減らします。
  3. 成功した場合は1を返し、失敗した場合は0を返します。

資格情報が正常に取得された場合は、直接返されます。資格情報が取得されない場合は、スピンして待機します。

リリース資格情報

資格情報を解放するには、Redis キーの値を増やすだけです。

2. カウントダウンラッチ

出力は次のようになります。

ソースコード分析

ラッチの数を設定する

この作品もほとんど同じです。

ラッチの数を減らす

これは値を減らすためです。

そして、latch.await() は、ラッチの値が 0 に達するまで回転し、その後実行を続けます。

3. まとめ

これは、Redisson の分散セマフォと CountDownLatch の実装の基本的な内容です。 Redis 内の共通変数のみを維持し、アトミック更新を実行します。

この記事はWeChatの公開アカウント「Programmer Xiaohang」から転載したもので、以下のQRコードからフォローできます。この記事を転載する場合は、プログラマーXiaohangの公式アカウントまでご連絡ください。

<<:  ブローカーの実装ロジック - Kafka ナレッジ システム (パート 3)

>>:  分散IDとは何かを理解するのに役立つ記事

推薦する

写真アプリSnapchatは6000万ドルの資金調達を正式に発表した。

網易科技報、6月25日、海外メディアの報道によると、「読んだら消える」写真アプリのスナップチャットは...

Xunlei は悪意のあるプラグインをバンドルし、何百万台ものコンピューターを「ゾンビ」に変えます

コアヒントThunder のデジタル署名を持つ悪意のあるプラグイン「INPEnhSvc.exe」は、...

ウェブサイトのユーザー エクスペリエンス分析: ユーザーの視点から見たフォーム ジャーニー

ユーザーがリリースフォームを使用するとき、それは旅のようなものです。旅行の目的は達成できたか?プロセ...

検索エンジンの弱点を知ることはSEO開発に役立つ

質問1:まず、BaiduとGoogleの観点から、ユーザーにどのような検索結果を提供する必要がありま...

神州太悦はアマゾン ウェブ サービスと提携し、中国企業のクラウド移行とグローバル展開を加速させる支援を行う

アマゾン ウェブ サービスは、神州太悦がアマゾン ウェブ サービスの世界的な優位性に依拠し、深い技術...

中小企業のデジタルトランスフォーメーション成功の鍵は、エンタープライズデジタルプラットフォームをうまく活用できるかどうかにある

企業のデジタル化のペースは長年にわたり止まることなく続いていますが、期待通りの成果を達成するのは困難...

budgetvm サーバー E3 シリーズ 初月 50% 割引

budgetvm のE3 シリーズのすべてのサーバーでは、最初の 1 か月間 50% オフの割引コー...

ベテランウェブマスターがウェブサイトの単一ページを最適化する方法を教えます

どのようなウェブサイトであっても、それは間違いなくページから構成される全体です。ウェブサイト全体の重...

クラウド バックアップ ソリューション クラウド コンピューティングを活用してみませんか?

クラウド バックアップ ソリューションの最初のバージョンは、主に個人の消費者向けラップトップを保護す...

百度のアルゴリズム調整:リアルタイムホットスポットのプレビュー

Baidu はアルゴリズムを調整したばかりですが、これはおそらく Baidu アカウントを持つユーザ...

エンタープライズレベルのSaaSによく使われる3つの暗号化方式

従来のソフトウェアとの大きな違いは、SaaS ではユーザー間、およびユーザーと SaaS 企業間の共...

ファーウェイがGood Vision Cloud Serviceを正式に開始、包括的なマシンビジョンの時代を先導

人工知能技術の台頭とエッジデバイスのコンピューティング能力の向上により、マシンビジョンの応用シナリオ...

電子商取引のプロモーションは登録が義務化され、来年は価格競争が緩和される可能性がある

オンライン情報への監視強化を求める世論を背景に、電子商取引サイトのプロモーション登録も関係部門の議題...

知乎は商業化が難しく、小紅書は「削除」されにくい

成功か失敗かはコミュニティ次第です。 DoubanからHupuまで、コミュニティプラットフォームは常...

「アメリカ時間」を理解する

海外のウェブサイトが何かを宣伝しているときは、宣伝の時間を事前に知らせてくれることがよくあります。ウ...