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とは何かを理解するのに役立つ記事

推薦する

ダブル11マーケティングにおける新たなトラフィックキラー

月収10万元の起業の夢を実現するミニプログラム起業支援プラン毎年恒例のダブル11マーケティングについ...

2021年テンセントSTAC科学技術イノベーション合同会議が成都で開催:成都・重慶経済圏に統合し、人工知能人材高原を構築

この会議では、政府、企業、大学、業界の専門家を招き、マルチエージェントや画像認識などの人工知能の重要...

ランキング後もSEO最適化を継続する方法

最初の問題は、あなたのウェブサイトはランキングを持っていますが、キーワードが安定していないことです。...

SEO初心者が経験したこと

あっという間に3年が経ち、当時は野望に燃えていた私も、今では半分社会人になりました。半年前、私はキャ...

Docker プライベート イメージ リポジトリとは何ですか?

この記事はWeChatの公開アカウント「Invincible Coder」から転載したもので、著者は...

ウェブサイト最適化計画の書き方についての簡単な説明

実生活でも、インターネットでも、その他の分野でも、中小企業には独自の目標、開発計画、プログラムがあり...

ユーザーレポートでは GPS 座標も変換できます。携帯電話がユーザーの位置情報をどのように収集するかを確認する 4 つの方法とは?

ユーザーの位置情報は機密情報です。多くのモバイル アプリケーション (LBS アプリケーション) で...

SEOブログの収益モデルは心配、自己娯楽が主流になる可能性

実は、SEOブログは市場の再編に直面し始めています。多くのSEOブログはすでに閉鎖のジレンマに直面し...

【画像で読む】「コメントキャッシュバック」を活用してコンバージョン率を向上させるには?

店を女性、買い手を男性に例えると、天猫店は「大きなブラジャー」を着ているようなもので、コメント欄に実...

HUAWEI Cloud for Good: テクノロジーで四川省を活性化し、土地を温暖化させる

10月28日、「スマートで美しい成都、約束とと​​もに前進」ファーウェイ成都市サミット2020が盛大...

friendhosting: 中国語インターフェースの追加、米国に8つのデータセンターなど - 無制限のトラフィックVPS、すべて50%オフ

中国市場を拡大するために、friendhostingは「ロシア語、ドイツ語、フランス語、英語」に続い...

ガーンター:クラウドコンピューティングはIT市場全体の25倍の速さで成長している

6月14日、市場調査会社ガートナーのニュースによると、クラウドコンピューティングは全体の成長率が25...

tothost ベトナム ISP IP VPS はいかがでしょうか? ISP IP付きハノイVPNラインVPSの簡単なレビュー

tothost のベトナム VPS には、CMC 回線と VNPT 回線があります。ハノイ VNPT...