質問: ウェブアプリケーションのキャッシュ化 こんにちは。 現在、素人ながらlamp環境でecサイトのスクラッチ開発にチャレンジしています。 現在、下調べ中なのですが、 サーバー負荷の低減とレスポンス面を考え、smartyなどのテンプレートエンジンによるキャッシュ化はどうかとの案に至りました。 しかし、smartyを検討していたところ、 エンドユーザーの属性に合わせたリコメンドと、画一的に動的出力するところ(例えば売れ筋のランキングなど。)を切り分けする方法が見当たらないため導入の意義がなくなりそうです。 そもそも動的出力とキャッシュ化は矛盾してるじゃん・・というのは理解しているのですが、 ユーザー属性に影響される形成とそうでない形成が半々のため、半分だけでもキャッシュ化出来ればdbへのアクセスを半減出来ると考えています。 こういった画面の一部分だけをキャッシュ化するような方法というのは、なにかあるのでしょうか。 宜しくお願い申し上げます。
回答: smartyだと、たしかファイル別にキャッシュするしないの切り替えができたと思います。 問題は、画面(最終htmlファイル)の一部だけはキャッシュデータで それ以外は動的出力したいということで、 ファイル単位でなく 画面の構成パーツ単位でキャッシュの有無を切り替えたいってことですよね。 ・画面(最終ファイル)は 動的出力するが、負荷の大きい部は サーバープログラム側で、キャッシュしておいたファイルをマージする ・画面(最終ファイル)は、キャッシュファイルを使うが、 動的出力したいところは、サーバーから常に最新データをとってきてブラウザ上でマージする (インラインフレームとか、ajaxとか) って手法もあるかも。 想像ですが。