概念を前提キャッシュ:
1.キャッシュの目的は、サイトのパフォーマンスを提供するデータベースへの圧力を軽減し、アクセス速度を向上させることです。
2.(キャッシュデータが過剰なキャッシュとして、タイムリーに更新されない)、正しくないキャッシュよりも悪い影響をキャッシングを使用している場合。
3..net MVC、対応する二つのキャッシュ技術がある:1アプリケーション・キャッシュ。2.出力キャッシュ
アプリケーションキャッシュと出力キャッシュの違い
出力キャッシュ:つまり、Outputcacheは心配コントローラやアクションと比較されます。シーンは、データのページを更新すると、データベースの各時間帯からの問い合わせが非常に頻繁ではないではありません含まれています。キャッシュされたメモリから読み出さ。例えば、物品は、どのようなランキングを詳しく説明します。
データキャッシュはグローバルに相対的です。呼び出したいときにどこでも、あなたは電話を行くことができます。シーンは、このモジュールの著作権管理を含んでいます。メニューにアクセスするには、各役割が固定されているために、役割、権限に、そのようなデータは、データキャッシュのグローバルメニューを行う必要があります。それはあなたが変更したときにキャッシュを更新しません。
人気のポイント出力バッファは「ローカル」のようなものである場合には、データキャッシュはグローバル変数のようなものです。
1.出力キャッシュ-OutputCache
Outputcacheの主に基本的な使用。
第1の出力バッファは、[OutputCacheコントローラまたはアクションの特性を再生するために使用されます。
[OutputCache(Duration =20,VaryByParam ="type,page")] //根据参数type,page,任意参数变化,更新缓存;参数无变化则每隔20秒丢掉旧缓存,等待新的请求,更新缓存数据。不标注VaryByParam 则默认根据所有参数缓存.
//根据参数,从数据库中获取指定详细内容,并缓存该内容。不同的参数会得到不同的内容,自然也会有缓存。
public ActionResult ExampleVaryByParam(string type,int page)
{
ViewBag.type = type;
ViewBag.page= page;
return View();
}
第二の方法は、CacheProfileキャッシュを設定し、設定ファイルを使用して出力キャッシュを使用することである。実際には、役割と効果はまだ同じである、便利なポイント以上のものは、統一された設定パラメータは内部のファイルのWebConfig直接書かれていません。もちろん、あなたはまた、コントローラに書くことができます。
web.configファイルのセクションは、名前の「exampleCacheProfile」キャッシュ設定ファイルを定義します。この設定項目を使用する場合は、単にCacheProfile =設定項目名を指定します。
<!---CacheProfile配置文件中设置缓存-->
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="exampleCacheProfile1" duration="20" VaryByParam ="type")/>
<add name="exampleCacheProfile2" duration="20" VaryByParam ="page")/>
<add name="exampleCacheProfile3" duration="20" VaryByParam ="type,page")/>
.
.
.
</outputCacheProfiles>
</outputCacheSettings>
</caching>
<!---CacheProfile配置文件中设置缓存end-->
namespace MvcApplication1.Controllers
{
public class ProfileController : Controller
{
//配置文件中的缓存策略名称赋值给CacheProfile
[OutputCache(CacheProfile="exampleCacheProfile")]
public string Index()
{
return DateTime.Now.ToString();
}
}
}
PS:VaryByParamは、キャッシュされたコンテンツのパラメータに応じて変化することができます
ときVaryByParam =「*」:フォームまたはクエリ文字列パラメータは、別のキャッシュされたバージョンを作成するたびに。
VaryByParam =「なし」が時:異なるキャッシュコンテンツを作成しないでください、異なるパラメータ、つまり、唯一のキャッシュ内容に応じてコンテンツをキャッシュしません。
VaryByParam =「パラメータリストは、」時:異なるパラメータのためのさまざまなキャッシュされたバージョンを作成します。
2.アプリケーションデータのキャッシュ-cache
ここでは、アプリケーションデータのキャッシュ-cache詳細: https://www.cnblogs.com/jsll/p/11619306.html