我在Heroku上尝试在我的Rails应用程序中实现缓存,但是我遇到了一些我不理解的问题。我认为在阅读Rails Guide和Heroku关于缓存策略的文档之后会很容易,但显然做错了。
问题1:行动观点似乎没有到期 问题2:当我使用时:layout => false,我的管理员和应用程序布局都被使用(试图只获取应用程序布局)
对这位新手的任何帮助都会非常感激!
production.rb(每个heroku文档也安装了dalli)
config.cache_store = :dalli_store
config.action_controller.perform_caching = true (added after reading http://bit.ly/oRKub1)
控制器
layout 'admin'
caches_action :show, :layout => false
def show
render :layout => 'application'
end
def update
expire_action :action => :show
end
我尝试通过更改产品来测试过期,但show视图不会过期。因此,当我查看产品的编辑视图时,我没有缓存,我可以看到更改已保存(只是在标题中添加了一个单词),但是当我查看show时,它仍然具有旧信息。
答案 0 :(得分:0)
如果您使用aspen / bamboo堆栈,我不认为缓存可以在rails中运行,因为应用程序面向清漆,它为您提供缓存
答案 1 :(得分:0)
我不知道“caches_action”,但您可以尝试手动过期所有缓存,看看会发生什么。
def update
# expire_action :action => :show
Rails.cache.clear
end
答案 2 :(得分:0)
如果有任何缓存问题,this链接将帮助您找到解决方案。
您可以通过heroku控制台直接连接到dalli/memcached
客户端,然后使用flush_all刷新缓存。