カテゴリ内の製品のページリストを使用した、かなり標準的なeコマースシナリオがあります。良くも悪くも、訪問者の約80%が最初のページを超えてナビゲートすることはありません。カテゴリによっては、表示される頻度がはるかに少ない結果のページが5〜10ページ増える可能性があります。(はい、最初のページに表示されるものを最適化し、適切な検索を行いますが、それは別の議論です)
メモリに制約があるため、結果のすべてのページをキャッシュすることはできませんが、各カテゴリの結果の最初のページだけをキャッシュすることの利点は非常に大きくなります。
オブジェクトキャッシングを使用して問題のデータセットを保存するのと同様のことができることは知っていますが、これは出力キャッシングを使用して、おそらくresponse.Cacheオブジェクトを使用して可能ですか?
ページのライフサイクルのどこでこれを行うことができますか?事前レンダリング?
非常に単純化すると、URLは「/ ProductList?Category = something&Page = 1」のようなものになります。(擬似コード)のようなロジックが必要です。
If paramater "Page" equals 1
Use output caching: vary by param = "categoryName; page"
else
Don't use caching at all, just render the page from scratch.
IIS 6/win2003でASP.NET2.0を使用しています。