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

推薦する

旅行サイト運営における珠海連盟と同城連盟のホテル協力の比較

こんにちは、旅行ウェブマスターの皆さん。私は普通の旅行ウェブマスターです。私のウェブサイトは「旅遊人...

ダブルイレブンのホットセールに備えてeコマースウェブサイトを最適化する方法

販売タイプの Web サイトは一度に作成されることはなく、さまざまなタイミングでさまざまなコンテンツ...

ウェブサイト運営:経験豊富なデザイナーが学ぶべきフロントエンド技術

私は、HTML と CSS を知らないユーザー エクスペリエンス デザイナーは、レンガや鉄筋に触れた...

格安WindowsVPS-$7/1gメモリ/45gssd/1.5tトラフィック/ロサンゼルス/Gポート

CheapWindowsVPS が Alipay をサポートしていることを知りました。その後、Win...

ページ最適化の核心は何ですか?

実際、ウェブサイトの最適化において、ページ最適化は比較的簡単です。検索エンジンのアルゴリズム技術の向...

20日にライトイヤーフォーラムが閉鎖されたことは、SEOフォーラムの生存ルールを示している

A5に「ライトイヤーフォーラムが20日に閉鎖されるので、SEOフォーラムの運営の難しさについて語る」...

Appleのプリインストールソフトウェアが削除できないとユーザーが不満を漏らす

広州日報によると、今月7日、深センの姚さんは公益法律支援プラットフォームの支援を受けてアップルを提訴...

s"unspeakable" mvz が iniz に改名 128M メモリ デュアル コア VPS 年間支払い 12 ポンド

Hostcat は以前、自社の Web サイトで「unspeakable」mvz というプロモーショ...

Amazon Web Services Serverlessは、企業が不確実性に対処するのを支援するために進化し続けています

Amazon Web Services は、サーバーレスの創始者と言えます。 2014 年に最初のサ...

よくあるクラウド構成の5つの間違い

クラウド内のデータ セキュリティを確保することは、企業とクラウド コンピューティング プロバイダーの...

ウェブサイトのコンバージョン率を効果的に向上させる5つの要素

簡単に言えば、従来の中小企業がオンラインマーケティングを行う目的は、インターネットを通じて自社の露出...

企業のウェブサイトコンテンツ構築では、スパイダーを引き付けるためにオンサイトスプロケットを実装しています

誰かがこう言ったのを覚えています。「自分の家を掃除できないのに、どうして世界を掃除できるというのか?...

アウトドアをテーマにしたアドベンチャーツーリズムは、観光コミュニティの大規模な商業化の問題を解決できるでしょうか?

私の国の観光市場はどれくらい大きいのでしょうか?すでに1兆を超えています。旅行業界全体では、Ctri...