2009-07-30 26 views
0

environment.rb中:Memcached的存儲數據,但Rails的不使用它

config.cache_store = :mem_cache_store, '127.0.0.1', { :namespace => RAILS_ENV.to_s } 

development.rb:

config.action_controller.perform_caching = true 

這是memcached的輸出當我打電話的URL。

get development:views/127.0.0.1:3000/aktionen.xml發送密鑰開發:views/127.0.0.1:3000/aktionen.xml END set development:views/127.0.0.1:3000/aktionen.xml 0 60 3 STORED

控制器

caches_action :index, :expires_in => 5.seconds, :layout => false, :format => :xml 

信息

cache_pages不產生分佈式緩存活動的。 Rails將aktionen.xml寫入公用文件夾,同時也忽略expires_in和format參數。調用127.0.0.1:3000/aktionen創建一個aktionen.html文件

回答

3

Rails(從2.1開始)爲由動作和片段緩存創建的緩存數據提供不同的存儲。頁面緩存總是存儲在磁盤上。

動作緩存與頁面緩存非常相似,唯一的區別是對頁面的請求將始終打到您的rails服務器並且您的過濾器將始終運行。要設置動作緩存我們的控制器可能是這樣的:

class BlogController < ApplicationController 
    layout 'base' 
    before_filter :authenticate # <--- Check out my authentication 
    caches_action :list, :show 

此處瞭解詳情:http://railsenvy.com/2007/3/20/ruby-on-rails-caching-tutorial-part-2

+0

所以..這個答案有幫助嗎? – 2009-07-31 21:13:20

0

你試過加大了到期時超過5秒更大的事物,只是爲了確保數據沒有過期在你能測試它的存在之前?

相關問題