hdknr’s posterous

 
Filed under

cache

 

フラグメントキャッシュをRailsで使う。 - kaeruspoon

 Railsでは三つのキャッシュ機能があります。ページキャッシュにアクションキャッシュ、そしてフラグメントキャッシュです。今回はフラグメントキャッシュを使ってみました。
 使いかたはとても簡単で、キャッシュしたいビューの部分をcacheブロックに入れるだけ。

Filed under  //   cache   fragment cache   rails  

Comments [0]

Rails 2.1の主な変更点を整理 - ひげろぐ

キャッシュ機構の強化 – Better caching

フラグメントキャッシュなどのキャッシュは今まではファイルに保存するしかなかったけれども、これをメモリやmemcacheやdrbなど他のキャッシュストアにも保存できるようになった。

定義はconfig/environment.rbなどで以下のように

ActionController::Base.cache_store = :memory_store
ActionController::Base.cache_store = :file_store, "/path/to/cache/directory"
ActionController::Base.cache_store = :drb_store, "druby://localhost:9192"
ActionController::Base.cache_store = :mem_cache_store, "localhost"

何も指定しないときのデフォルトは:memory_storeになる。

このほかにも自作のキャッシュストアを作成して使うこともできる。

参考

Filed under  //   cache   rails  

Comments [0]

ヽ( ・∀・)ノくまくまー(2005-07-13)

Action caching 詳細

Pageと同じでキャッシュ対象はアクションの出力全部であるが、Fragment(後述)として保存される点と参照時に ActionPack を経由する点が Page とは異なる。つまり、キャッシュを渡す前に ActionPack へ制御がうつるため、そこで認証や制限を行う事が可能になる。

class BerryzController
  before_filter :authenticate, :except => :show  # filter は全部にかかるので show は除外する
  caches_page   :show
  caches_action :edit

  def authenticate
    unless @request.env["REMOTE_HOST"] == "127.0.0.1"
      redirect_to "/404.html"
    end
  end
end

キャッシュの削除には expire_action メソッドを利用する。

Filed under  //   ActionCaching   cache   memcached   rails  

Comments [0]