今日の高トラフィックのWebアプリケーションでは、パフォーマンスとスケーラビリティが非常に重要です。応答時間が遅いと、ユーザーエクスペリエンスが低下し、インフラコストが増大します。 応答キャッシング 繰り返し処理を減らし、コンテンツ配信を高速化する強力な最適化技術です。 NCache拡張性の高い方法を使用して、ASP.NET Core のレスポンス キャッシュ機能を改善できます。 インメモリ分散キャッシュソリューション.
ASP.NET Core は、レスポンス キャッシング ミドルウェアのネイティブ実装であり、 サーバー側のキャッシュ レスポンスの高速化により、同じリクエストを繰り返し処理する必要性が減ります。しかし、組み込みのキャッシュソリューションは単一のサーバーに限定されており、エンタープライズレベルのアプリケーションに必要な拡張性を提供しません。組み込みの Iメモリキャッシュ 小規模な単一サーバーアプリケーションには十分です。 NCache これは、大規模な環境で高い可用性とミリ秒以下の応答速度が求められるエンタープライズ向けASP.NET Coreアプリケーションに必要です。
レスポンス キャッシュを使用すると、リクエストごとにコンテンツを再生成するのではなく、キャッシュされたレスポンスを提供することで、サーバーの負荷が軽減され、応答時間が長くなります。
レスポンス キャッシュが役立つ実際の使用例を以下に示します。
実装することにより NCache 応答キャッシング用アプリケーションのパフォーマンスを大幅に向上させ、インフラストラクチャ コストを削減できます。
NCache 分散型の高性能な 応答キャッシュ ASP.NET Coreアプリケーションと何の手間もなく統合できます。
使用の主な利点 NCache レスポンス キャッシュの要件は次のとおりです。
NCache ASP.NET Core 用の分散型高性能レスポンス キャッシュを提供し、負荷分散された Web ファーム全体でコンテンツの一貫性とスケーラビリティを保証します。組み込みの ASP.NET Core レスポンス キャッシュは単一のアプリケーション インスタンスに限定されていますが、 NCache 分散キャッシュ層を提供することでこの機能を強化し、複数のサーバー間で一貫性とスケーラビリティのあるキャッシュを実現します。
レスポンスキャッシュを使用するには、まずASP.NET Coreアプリケーションでレスポンスキャッシュミドルウェアを有効にする必要があります。
コマンドを適宜修正する プログラム.cs レスポンスキャッシュを有効にするファイル:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
builder.Services.AddResponseCaching();
builder.Services.AddNCacheDistributedCache(options =>
{
options.CacheName = "myResponseCache";
options.EnableLogs = true;
});
var app = builder.Build();
app.UseRouting();
app.UseResponseCaching();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});
app.MapControllers();
app.Run();
設定するには NCache レスポンスキャッシュプロバイダとして、キャッシュ設定を定義します。 アプリ設定.json:
{
"NCache": {
"CacheName": "myResponseCache",
"EnableLogs": true,
"RequestTimeout": 90
}
}
この設定により、ASP.NET Core はキャッシュされた応答を保存できます。 NCache これにより、応答時間が短縮され、キャッシュ管理が効率化されます。
その [レスポンスキャッシュ] 属性は、コントローラアクションのキャッシュポリシーを構成します。
[ResponseCache(Duration = 60, Location = ResponseCacheLocation.Client, NoStore = false)]
public IActionResult GetData()
{
return Ok(new { Message = "Cached Response" });
}
これはASP.NET Coreと NCache 応答を 60 秒間キャッシュし、冗長な処理を削減します。
NCache パフォーマンスと柔軟性を強化する追加機能により、レスポンス キャッシュ機能が向上します。
builder.Services.AddDistributedMemoryCache();
builder.Services.AddNCacheDistributedCache(options =>
{
options.CacheName = "myResponseCache";
});
これにより、キャッシュされた応答が複数のアプリケーション インスタンス間で利用可能になり、キャッシュの不整合が解消されます。
| 機能 | ASP.NET Core 組み込み | Redis | NCache |
|---|---|---|---|
| 分散同期 | いいえ(単一サーバー) | はい | はい(クラスター全体) |
| .NET ネイティブ サポート | はい | いいえ(ラッパーが必要) | はい(フルスタック) |
| データベース同期 | いいえ | いいえ | はい(自動) |
| 自己修復クラスター | いいえ | 一部 | はい(動的) |
MemoryDistributedCache(単一インスタンスに限定)や Redis (.NETとの深い統合が欠けている) NCache 提供しています:
高性能なレスポンスキャッシングで、ASP.NET Coreアプリケーションのパフォーマンスを大幅に向上させましょう。
ASP.NET Core アプリケーションのパフォーマンスを向上させるには NCache - .NET 向けの最速かつ最もスケーラブルな分散キャッシュ ソリューションです。
©著作権 Alachisoft 2002 - . All rights reserved. NCache はダイヤテック株式会社の登録商標です。