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

眺める: 23864|答える: 1

[.NET Core] ASP.NET Core MVCメモリキャッシュ利用チュートリアル

[リンクをコピー]
2019年11月12日 16:16:36に投稿 | | | |
プロジェクト開発時には、ビジネスニーズに応じて一部のデータをキャッシュしたり、データベースクエリの内容をキャッシュしてデータベースへの負担を軽減したりすることがよくあります。

よく使われるメモリキャッシュ:System.Runtime.Caching / MemoryCacheおよびMicrosoft.Extensions.Caching.Memoryです。

Microsoftには2つのソリューションがあり、キャッシュ用の2つの異なるNuGetパッケージがあります。どちらもMicrosoftの推奨通り素晴らしいです。Microsoft.Extensions.Caching.MemoryはAsp .NET Coreとの連携が良いため、こちらを好むでしょう。 これは簡単にAsp .NET Coreの依存性注入機構に注入できます。

この記事では、Microsoft.Extensions.Caching.Memoryを使ってデータをキャッシュし、略してMSCacheと呼びます。Microsoftは以下の内容を紹介しています。ハイパーリンクのログインが見えます。

注意:Microsoft.Extensions.Caching.Memoryはスレッド安全です

MSCacheは何ができるのでしょうか?

  • サポートが完全に期限切れです
  • スライディング期限サポート(TimeSpanを指定し、指定された時間内にキャッシュ時間があれば延期し、そうでなければ期限切れとなります)
  • 期限切れのコールバック
  • カスタム期限


MemoryCacheEntryOptions キャッシュ設定

  • 絶対期限絶対有効期限がゼロであれば、この条件は無効となります
  • 絶対期限 Relativeation To Now現在の時間に対する絶対的な有効期限(TimeSpanを使用)はnull条件で無効です
  • スライディング・エクスペレーション有効期限をスライドさせてください
  • ExpirationTokensキャッシュの有効期限をカスタマイズ可能
  • 追放後コールバックキャッシュ無効化コールバック
  • 優先順位キャッシュアイテム優先度(キャッシュが満杯になったときにキャッシュが完全にクリアされる順番)
  • サイズキャッシュされたデータのサイズを表し、一般的にメモリ内キャッシュではヌルとなります



MSCacheで始めましょう

プロジェクト ASP.NET コアMVC
NUGETコマンドの設置:


使うときは、シンプルなパッケージを作りましょう。

インターフェース:

実施:


依存注入構成シングルトン


テストはMSCacheを使用します

相対有効期限とスライド有効期限でデータを書き込み、以下のコードで読み取りテストを行います。

コントローラーコード:

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


キャッシュデータの読み込み:

アクセス:ハイパーリンクのログインが見えます。相対的有効期限とスライド期限を設定した後、アクセス:https://localhost:44370/Home/Get キャッシュデータを以下のように取得します:




30秒以内にリンクを何度も読み返したところ、絶対有効期限は30秒後に完全に切れていましたが、スライドさせても読み取れました(下の図のように):



(終わり)





先の:[窓] XMind 8 クラックソルブセルフユースグリーンポータブルエディション
次に:.Net CoreのDateTime時間はLinux DockerのWindows時間と一致しません
 地主| 2024年7月10日 18:13:17に投稿 |
Core 8 ASP.NET 直接的にビルダーを追加します。 Services.AddMemoryCache();
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com