架构师_程序员_码农网

ユーザー名 パスワード取得
会員登録

QQ登录

ワンステップ

検索
ビュー数:13080|返信数: 1
打印 上一主题 下一主题

[.NET Core]ASP.NET Core MVC Memory Cache チュートリアル

[コピーリンク]
ASP.NET Core MVCメモリキャッシュ
への直接リフト跳转到指定楼层
を函誼します
プロジェクトを開発するときは、多くの場合、キャッシュを使用する必要がある、いくつかのデータをキャッシュしたり、データベースへの圧力を減らすために、データベースのクエリの内容をキャッシュするために、それらのビジネスニーズに応じてなど。

一般的に使用されるメモリキャッシュ:System.Runtime.Caching / MemoryCacheとMicrosoft.Extensions.Caching.Memory

Microsoftの推奨によると、Microsoft.Extensions.Caching.Memoryの方が.NETコアのAspとの統合性が高いため、Microsoft.Extensions.Caching.Memoryを使用することをお勧めします。これはAsp .NET Coreの依存性注入メカニズムに簡単に注入できる。

この記事ではMicrosoft.Extensions.Caching.Memoryを使用してデータをキャッシュします。この記事ではMSCacheと略します。Microsoftによって紹介されています:https://docs.microsoft.com/en-us ... .memory.memorycache

注:Microsoft.Extensions.Caching.Memoryはスレッドセーフです!

MSCacheは何ができるのか?


  • 対有効期限サポート スライディング有効期限サポート(時間TimeSpanを指定し、指定した時間内にGet Cached時間があれば延期し、そうでなければ失効する) 有効期限コールバック カスタム有効期限


MemoryCacheEntryOptions キャッシュ設定

  • AbsoluteExpiration 絶対期限切れ時間、null条件は無効AbsoluteExpirationRelativeToNow 現在時刻からの相対期限切れ時間(TimeSpanを使用)、null条件は無効SlidingExpiration スライディング期限切れ時間

  • ExpirationTokens キャッシュの有効期限をカスタマイズするために提供されるPostEvictionCallbacksPriority キャッシュ・アイテムの優先順位(キャッシュが一杯になったときに絶対にクリアされる順番)Size キャッシュされたデータのサイズを表す。



MSCacheを始める

プロジェクト ASP.NET Core MVC
nugetコマンドでインストールします:


使用する場合は簡単なラッパーを作成します。

インターフェース:

実装:


依存性注入コンフィギュレーション単一の例


MSCacheの使用テスト

相対期限切れとスライディング期限切れを使用してデータを書き込み、以下のコードで読み込みテストを行う。

コントローラコード:

キャッシュされたデータを書き込む:


キャッシュされたデータを読む:

相対有効期限とスライド有効期限を設定した後、 https://localhost:4437 0/Home/Get、以下のようにキャッシュされたデータを取得する:




30秒以内にRead Cacheのリンクに何度かアクセスすると、以下のように、絶対的な有効期限は30秒後に完全に切れてしまうが、スライディングの有効期限はまだ読めることがわかった:



(終了)





前の記事:[Windows] XMind 8 Broken-Solutions 自己使用グリーンポータブル版
次の記事:Linux Dockerで.Net CoreのDateTimeの時間がWindowsの時間と一致しない
コード農家のネットワークは、唯一の練習の過程で公開され、技術的な困難に遭遇し、他の人を誤解させないでください。
っているようです
owner|投稿日時:2024-7-10 18:13:17この作者だけ見る
ASP.NET Core 8直接追加:builder.Services.AddMemoryCache();
コード農家のネットワークは、唯一の練習の過程で公開され、技術的な困難に遭遇し、他の人を誤解させないでください。
投稿するにはログインが必要です ログイン会員登録

このバージョンのインテグラルルール


免責事項:Code Farmerによって公開されたすべてのソフトウェア、プログラミング教材や記事は、学習と研究の目的のみに使用するために限定され、上記のコンテンツは、商業的または違法な目的のために使用してはならない、そうでなければ、すべての結果は、ユーザー自身が負担するものとします。本サイトはネットワークからの情報であり、著作権紛争は本サイトとは関係ありません。上記のコンテンツはダウンロード後24時間以内にコンピュータから完全に削除する必要があります。もしあなたがこのプログラムを気に入ったなら、正規のソフトウェアをサポートし、登録を購入し、より良い正規のサービスを受けてください。もし著作権侵害があれば、メールでご連絡ください。

メール To:help@itsvse.com

QQ|( 鲁ICP备14021824 号-2)|サイトマップ

GMT+8, 2024-9-18 19:53

クイック返信トップに戻る一覧に戻る