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データが消えます。
簡単な使い方はこんな感じです。
変更されることが数少ない場所は、上記の方法で大丈夫だと思います。
他にも設定はできるので、それはまた次回以降で。