この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 163142|答える: 27

[.NET Core] [実際の戦闘] ASP.NET コアはRedis分散ロックフラッシュセールをベースにしています

[リンクをコピー]
掲載地 2020/09/26 15:34:26 | | | |
以前に書かれたzkベースの分散ロックは以下の通りです。

.net/c# Zookeeper分散ロック実装 [ソースコード]
https://www.itsvse.com/thread-4651-1-1.html
Redisは分散ロックの原則を実装しています:

.NET CoreはRedisに基づく分散ロック原理解析を実装しています
https://www.itsvse.com/thread-9391-1-1.html
Redisで分散ロックを実装する原則は、redisのSETNXコマンドを呼び出し、キーがすでに存在している場合、SETNXコマンドは何もしません。 コマンドは設定が成功すると1、失敗すると0を返します。


まず、当サイトは1万件の商品をシミュレートし、その後HTTPリクエストをシミュレートするコンソールを書きます。購入完了までに40秒かかります。レンダリングは以下の通りです:



Core 3.1 ASP.NET 新しいウェブサイトを作成し、redis lockパッケージは以下の通りです:

インターネット上で多くのリリースロックが次のように書かれているのを見かけました:

しかし、問題があるように感じます。並行処理の場合、判断時にtrueを返すことは可能であり、それは確かに自ら追加されたロックですが、ロックが削除されると、極端な場合には、他のスレッドが他のスレッドによって取得されたロックが、他の誰かのロックが削除された場合に備えます。

したがって、錠前を手に入れる際には、錠前の有効期限を延ばすために糸を開ける必要があります。

WeatherForecastControllerのインターフェースは以下の通りです:


APIウェブサイトはコマンドラインから起動でき、簡単に再起動できます。以下のように:



新しい.NET CoreモックアップHTTPリクエストを作成してスナップ購入用に、コードは以下の通りです:


もし何か問題があれば、訂正してくれてありがとうございます。

最後にソースコードを添付します:

観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ答える





先の:JSは画面サイズのカルーセルグラフに適応します
次に:このJavaScriptの詳細な説明
 地主| 掲載地 2021/05/09 21:12:58 |
ウェブサイトシミュレーションは10000点その後、HTTPリクエスト時間をシミュレートするコンソールを書きました 完売は6秒で完了します


.NET CoreはRedis Lua(ソースコード付き)に基づく分散ロックを実装しています
https://www.itsvse.com/thread-9642-1-1.html


掲載地 2023/11/05 11:02:52 |
Console.WriteLine($"Rush Successful: {safeInstanceSuccessedCount}, Failed: {safeInstanceFailedCount}, Sold Out: {safeInstanceDoneCount}");
 地主| 掲載地 2021/04/27 11:17:53 |
コードにはいくつかの問題があり、タスクブロッキングはawait Task.Delay(i)を使うべきです;  睡眠は使わないでください
掲載地 2020/09/27 14:13:33 |
マーク、マーク、マーク
掲載地 2020/10/05 11:12:20 |
マーク マーク マーク
掲載地 2020/11/02 15:39:13 |
DFDSFDSFDSFDS
掲載地 2020/11/05 10:08:13 |
ソースコードが必要です、ははは。
掲載地 2020/12/02 15:11:30 |
共有してくれてありがとうございます。
掲載地 2020/12/07 21:10:03 |
[実際の戦闘] ASP.NET コアはRedis分散ロックフラッシュセールをベースにしています
掲載地 2020/12/09 17:17:34 |
実際の効果とソースコードをチェックしてみてください。
掲載地 2021/01/20 15:17:50 |
ありがとう、ありがとう、ありがとう、ありがとう
掲載地 2021/01/26 16:10:46 |
マーク マーク マーク マーク
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com