[解決済み] asp.netでキャッシュをロックする最良の方法は何ですか?
2023-07-17 04:08:28
質問
長い間実行されているプロセスなどの特定の状況では、そのリソースに対する別のユーザーによる後続の要求が、キャッシュを叩く代わりに長いプロセスを再度実行することを避けるために、ASP.NET キャッシュをロックすることが重要であることは知っています。
ASP.NETでキャッシュロックを実装するために、c#で最良の方法は何ですか?
どのように解決するのですか?
基本的なパターンを紹介します。
- 値のキャッシュをチェックし、利用可能であれば返す
- 値がキャッシュにない場合、ロックを実装します。
- ロックの内部で、もう一度キャッシュを確認すると、ブロックされている可能性があります。
- 値のルックアップを実行し、それをキャッシュします。
- ロックを解除する
コードではこのようになります。
private static object ThisLock = new object();
public string GetFoo()
{
// try to pull from cache here
lock (ThisLock)
{
// cache was empty before we got the lock, check again inside the lock
// cache is still empty, so retreive the value here
// store the value in the cache here
}
// return the cached value here
}
関連
-
[解決済み] [Solved] 1つ以上のエンティティで検証に失敗しました。詳細は'EntityValidationErrors'プロパティを参照してください [重複]。
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み] C#のオートプロパティに初期値を与える最良の方法は何ですか?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] C#で文字を繰り返し表示する最適な方法
-
[解決済み] キャッシュフレンドリーコードとは何ですか?
-
[解決済み】すべてのASP.Netのウェブサイトが遅い理由を発見しました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】GDI+、JPEG画像をMemoryStreamに変換する際にジェネリックエラーが発生しました。
-
[解決済み] [Entity Framework 4.1でエンティティに関連オブジェクトを追加する際に、エンティティオブジェクトをIEntityChangeTracker.の複数のインスタンスから参照できない。
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み】C# ASP.NET使用時に「WebClientのリクエスト中に例外が発生しました。
-
[解決済み】バックスラッシュを含むパス文字列のエスケープシーケンスが認識されない件
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。
-
[解決済み] lock(this){...}はなぜダメなのですか?