はじめに

MVCでのキャッシュについて書いてみたいと思います。
事の発端は、左メニューにある「Amazonでお買い物」を実装している時に、
「やっぱり、パフォーマンスを出すためにはキャッシュだよなー」と思いまして、
MVCでのキャッシュについて調べてみました。とても簡単な内容ですので、
良かったら参考にしてみてください。

コントローラでのキャッシュ

見てもらった方が、早いのでいきなりソースを貼っちゃいます。
アイライトで実際に利用しているものです。
    [OutputCache(Duration = 86400, VaryByParam = "code;page")]
    public ActionResult Browse(string name, string code, int? page)
    {

こんな感じで、コントローラの前に Attribute を設定してあげるだけで動作します。
簡単に説明すると、Durationがキャッシュされる時間(秒)です。
VaryByParamがその引数の内容毎にキャッシュが作成されます。
セパレート文字は、,(カンマ)ではなく、;(セミコロン)ですので、お間違いなく。

おわりに

後で加筆する予定です。
とりあえず、VaryByParam で躓く人も多いと思って急いでアップしておきます。

調査環境

VS2010 + MVC2
ASP.NET
C#

更新日

2011/05/23:アップ