environment.rb中:
config.cache_store = :mem_cache_store, '127.0.0.1', { :namespace => RAILS_ENV.to_s }
development.rb:
config.action_controller.perform_caching = true
这是我调用网址时的memcached输出。
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根本不会产生任何memcached活动。 Rails将aktionen.xml写入公用文件夹,同时忽略expires_in和format参数。调用127.0.0.1:3000/aktionen会创建一个aktionen.html文件
答案 0 :(得分: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
答案 1 :(得分:0)
你是否尝试过期超过5秒,只是为了确保数据没有过期才能测试它的存在?