我正在尝试在Rails 4应用程序中实现缓存。我按照此article安装了redis和setup config,但是每次尝试在控制器中缓存某些内容时,第一次刷新时我都会获取数据,第二次刷新时我会得到nil。 当我转到redis cli并执行KEYS *时,我看到那里的钥匙。
我认为这是我的redis问题,因此我禁用了redis,并在development.rb中放了
config.cache_store = :memory_store, { size: 128.megabytes }
但是如果我尝试
Rails.cache.fetch("dashboard") do
User.where(:active=>true).size
end
我对行动的反应为零。
我做错了什么,缓存总是返回nil?
编辑:这是我的redis development.rb文件的一部分
config.cache_store = :redis_store, {
expires_in: 1.hour,
namespace: 'cache',
redis: { host: 'localhost', port: 6379, db: 0 },
}
答案 0 :(得分:0)
这没什么,但是没有存储高速缓存。因此,您必须检查它的配置。 例如。在您的环境文件中,您应该具有以下代码片段:
config.action_controller.perform_caching = true
config.cache_store = :media_store
:media_store-取决于要在何处存储缓存。