特定の子アクションにキャッシュを追加したいので、1ページの部分を個別にキャッシュすることができます。MVC:OutputCacheと極端に遅いRenderPartial
AJAXとRenderAction
(またはその他の埋め込み方法)の両方からアクセスできるようにするには、同じコントローラメソッドが必要です。
RenderAction
を使用するようにコードを変更しましたが、最初の負荷が非常に遅い場合、各Html.RenderAction
がページローディング時間に約1秒追加することが判明しました。後続の負荷の成果を楽しむのは難しいです。
私はRenderAction
遅れを回避し、まだ私ができる単一のメソッドをキャッシュし、持っていることができるようにするための最善の戦略何、だから... ...離れRenderAction
から滞在する専門家の意見、SOにここ
を答えを見てきましたHTMLとAJAXの両方からの呼び出し? (そしてこの場合のキャッシュ無効化の扱い方は?)
はい、場合によっては 'JsonResult'と時には' View'です。私はRazorエンジンを使用しています。キャッシュされた時間は素晴らしいですが、最初の読み込みは非常に遅いです。はい、VaryByParam(多くのパラメータを持つOutputCacheを使用します.. EDIT:6) – Madd0g
キャッシュはあまりにも多くのメモリを使用するので、あまりにも多くのパラメータを持つべきではありません。最初にキャッシュされたアイテムをリサイクルし、ページの速度を落とします。キャッシュメモリ使用量= viewText^paramValuesCount。 paramsCount = 6、paramValuesCount = 1000のメモリが使用された場合= 10K^6000 =オーバーフロー)、キャッシュがキャッシュされるとすぐにアイテムをリサイクルします。 – Softlion
私は 'RenderPartial'の性能についてもっと心配していますが、質問のキャッシュ部分は概念的なものです。出力キャッシュを使用する際のDRY方法 – Madd0g