【发布时间】:2011-08-14 04:41:22
【问题描述】:
我正在尝试使用redis-store 作为我的 Rails 3 cache_store。我还有一个初始化程序/app_config.rb,它加载一个用于配置设置的 yaml 文件。在我的初始化程序/redis.rb 我有:
MyApp::Application.config.cache_store = :redis_store, APP_CONFIG['redis']
但是,这似乎不起作用。如果我这样做:
Rails.cache
在我的 Rails 控制台中,我可以清楚地看到它正在使用
ActiveSupport.Cache.FileStore
作为缓存存储而不是 redis-store。但是,如果我像这样在 application.rb 文件中添加配置:
config.cache_store = :redis_store
它工作得很好,除了应用程序配置初始化程序是在 application.rb 之后加载的,所以我无权访问 APP_CONFIG。
有人经历过吗?我似乎无法在初始化程序中设置缓存存储。
【问题讨论】:
-
github.com/rails/rails/issues/10908 与此处相关。如下所述,问题在于缓存在 Rails 启动过程的早期初始化,以便其他 Rail tie 可以使用它。
标签: ruby-on-rails ruby ruby-on-rails-3 caching redis