2017-09-14 6 views
0

友人がOutput Cacheを使用してデータをキャッシュすることを頼まれましたが、それはうまく機能しますが、データベースからデータを取得し、そのデータとやりとりしたいということですデータベースから巨大なデータを取得し、その巨大なデータからユーザの活動に応じたデータを動的に取得することができます。ASP.net MVCでデータをキャッシュする

[OutputCache(Duration =600, VaryByParam ="none")] 
public ActionResult GetData() 
{ 
var result = context.People.ToList(); 
return View(result); 
} 

例ですが、のは私が私の見解では、そのデータ用のページネーションを使用したい、と私はリンクして、例のデフォルトページ現在の週のため、日付の誕生に応じてすべての人を表示したいとしましょう「Next」と呼ばれるものと「Previous」と呼ばれるものがあります。 「次へ」リンクをクリックすると、翌週の誕生日である人だけが表示され、前の誕生日の人だけを表示する「前回」と同じものが表示されます。 出力キャッシュを使用して、すべての時間...これはデータベースとのやりとりを最初に行い、そのデータをキャッシュし、そのデータとやりとりし、その期間に設定した時間にデータベースに対して再度読み取らないようにすることはできますか?出力キャッシュとは別のキャッシングツールを使用するようお勧めしますか?

+1

'VaryByParam'プロパティについて読んでください。 – hatchet

+1

ページングの場合は、メソッド内にパラメータがあるため、そのパラメータが同じ場合にキャッシュします –

答えて

-1

ビュー全体をキャッシュするのではなく、結果をセッション状態に追加するだけでもいいですか?

Web.configまたはIISを使用して、セッションの状態がどのくらい続くかを制御できます。

関連する問題