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

眺める: 1417|答える: 0

[出典] .NET/C#はStackExchange.Redisのパフォーマンスで最適化されています

[リンクをコピー]
2024年12月23日 21:37:10に投稿 | | | |
要件:一般的に.NET開発者はStackExchange.Redisライブラリを使ってRedis操作を読み書きしますが、今日ネットワークリンクを確認したところ、StackExchange.Redisライブラリはシングルトンモードを使用しており、実際には4つのTCP長リンクをRedisサーバーと確立しています。

オンラインでネットユーザーを探して答えてください」デフォルトでは、StackExchange.Redisの各ConnectionMultiplexerインスタンスは1キャッシュあたり少なくとも2つの接続を作成します。 1つはインタラクションコマンド用、もう1つはメッセージの公開・購読用です。

もしPub/Subのパブリッシングサブスクリプション機能を使わなければ、接続利用を最適化するためにオフにすることもできます。

RedisサーバーのCLIENT LISTコマンドを使うと、すべてのクライアント接続を見ることができます。最適化前の図は以下の通りです



クライアントフラグの組み合わせは以下の意味を持ちます:

A: できるだけ早く接続を閉じること
B:クライアントがブロッキング操作で待機中です
C: 返信全文を書いた後、接続を閉じる
d: 監視キーが変更されました - EXEC は失敗します
E: クライアントはクライアントの立ち退きメカニズムから除外されます
i: クライアントがVM I/Oを待っている(非推奨)
M: クライアントは達人です
N: 特定のフラグセットなし
O: クライアントはMONITORモードのクライアントです
追伸:クライアントはPub/Sub加入者です
R: クライアントはクラスタノードに対して読み取り専用モードに入っています
S: クライアントはこのインスタンスへのレプリカノード接続です
U: クライアントはブロック解除されています
U: クライアントはUnixドメインソケットで接続されています
x: クライアントがMULTI/EXECコンテキストにいる場合
T: クライアント側のキャッシュを実行するためにキートラッキングを有効にしました
T: クライアントはアクセスするキーのLRU/LFUに触れません
R:クライアントトラッキングターゲットクライアントが無効です
B: クライアントがブロードキャストトラッキングモードを有効にした
pub/subのパブリッシュサブスクリプション接続をオフにするにはどうすればいいですか?

選択肢1

.NETコードを以下のように修正します:

選択肢2(推奨)

接続文字列を直接次のように修正します:

修正が完了した後、プログラムを再実行すると、以下の図のように出版サブスクリプション接続が閉じられていることがわかります。



以前は4つのTCP接続が確立され、その後は2つのTCP接続が確立されました。

参考:

ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。





先の:Angularコード難読化暗号化を簡単に可能にしました
次に:複数のメインメソッドソリューションのための.NET/C#テストコード
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com