はじめに
MVCでのキャッシュについて書いてみたいと思います。事の発端は、左メニューにある「Amazonでお買い物」を実装している時に、
「やっぱり、パフォーマンスを出すためにはキャッシュだよなー」と思いまして、
MVCでのキャッシュについて調べてみました。とても簡単な内容ですので、
良かったら参考にしてみてください。
コントローラでのキャッシュ
見てもらった方が、早いのでいきなりソースを貼っちゃいます。アイライトで実際に利用しているものです。
[OutputCache(Duration = 86400, VaryByParam = "code;page")]
public ActionResult Browse(string name, string code, int? page)
{
こんな感じで、コントローラの前に Attribute を設定してあげるだけで動作します。
簡単に説明すると、Durationがキャッシュされる時間(秒)です。
VaryByParamがその引数の内容毎にキャッシュが作成されます。
セパレート文字は、,(カンマ)ではなく、;(セミコロン)ですので、お間違いなく。
おわりに
後で加筆する予定です。とりあえず、VaryByParam で躓く人も多いと思って急いでアップしておきます。
調査環境
VS2010 + MVC2ASP.NET
C#
