最新の投稿を表示するページのフラグメントがあり、30分で期限切れになったとします。ここではRailsを使用しています。
<% cache("recent_posts", :expires_in => 30.minutes) do %>
...
<% end %>
明らかに、フラグメントが存在する場合、最新の投稿を取得するためにデータベースルックアップを実行する必要はないため、そのオーバーヘッドも回避できるはずです。
私が今していることは、動作しているように見えるコントローラーでこのようなものです:
unless Rails.cache.exist? "views/recent_posts"
@posts = Post.find(:all, :limit=>20, :order=>"updated_at DESC")
end
これが最善の方法ですか?安全ですか?
recent_posts
なぜフラグメントのキーが「」で、後でチェックするときに「」なのかわからないのですが、何を使っているのかviews/recent_posts
見てみて思いついたんです。memcached -vv
また、手動で「」を入力する重複は好きではありませんrecent_posts
。それを1か所にまとめたほうがよいでしょう。
アイデア?