railsのcacheを使ってみる

本番サーバーではガンガン使われているのですが、私自身がcacheを知らないので、調べました。

cacheとは

元となるデーターベースが更新されていないのに、ページ自体をリクエストが飛ぶ度に動的に作成するのは無駄になってます。

一度読み込んだページは、再度更新がない場合は、以前のデータをそのまま使用するので、表示速度が速くなります。

2回目以降は速く読み込めるので、パフォーマンスが向上します。

Railsではこのようなキャッシュの仕組みをフラグメントキャッシュという機能で提供しています。

使い方

使い方は色々ありますが、基本的な使い方です。

- cache do
  読み込むコンテンツ

サンプルとして、下記のもので実験します。

= Time.now
br
- cache do
  = Time.now

これは上は時間が変わりますが、下は時間が変わりません。

キャッシュして、一度ページの読み込みが終わっているからですね。

キャッシュデータ自体は、tmp以下にあります。

tmp/cache/24C/241views%2Flocalhost%3A3000%2F%2F94aeb36efd6205c3a902fd8cb9b9600d

こんな感じです。

rails consoleで消す場合は下記を打ち込みます。

Rails.cache.clear

これでcacheデータが消えます。

簡単な使い方はこんな感じです。

変更されることが数少ない場所は、上記の方法で大丈夫だと思います。

他にも設定はできるので、それはまた次回以降で。