monoの開発ブログ

Ramazeでレンダリング結果をファイルにキャッシュする正しい方法

たまたまRamazeをインストールしたディレクトリを見ていたところ、ramaze/cache/file.rbなるファイルが。というわけでstart.rbあたりに以下のような記述をするとキャッシュがファイルに生成されるようになり、CGIでもキャッシュを活用できるようになります。前回書いたコードは忘れてください。

Ramaze::Global::cache = Ramaze::FileCache

あとはメモリキャッシュを用いる場合と同様にコントローラを記述すれば細かな制御が行えます。とっても簡単できれいですね。この方法だとCGI起動、ライブラリ読み込みのオーバーヘッドは発生してしまいますが、何もしないときよりは高速ですのでまあ十分かと思います。

ただし、Ramazeは「:(コロン)」を含んだファイル名でキャッシュを生成しようとするので、Windows環境だとローカルでのデバッグ時にエラーが発生します。そのへんは各自対処してください。