Rails 5缓存,它存储在哪里以及如何清理它?

时间:2016-11-08 07:11:20

标签: ruby-on-rails ruby-on-rails-5

我对此不以为然。我无法找到清除ROR5应用程序的生产缓存的方法,然后重新启动nginx。如果我在 app / views / layouts / application.html 中更改某些内容(例如),则在重新加载/重新启动服务器之前,不会反映更改。

我编辑了 config / environments / production.rb 并更改了:

config.action_controller.perform_caching = false

也尝试设置

config.cache_store = false

我猜,ROR中有很多缓存元素我迷失了方向。

我想知道以下内容:

  1. 如何(在何处)以生产模式禁用缓存?
  2. 哪个部分负责查看缓存?
  3. 缓存存储在哪里(cache_store?tmp / *)?
  4. 无论如何强制 ROR刷新缓存(运行时)?
  5. 在网站上注意:我正在Raspberry Pi上运行应用程序,我需要修复一些问题,然后将更改直接通过ftp推送到框中。我知道这不是修复它的最佳方法,但重启nginx需要一些时间。我知道我可以将盒子换成开发模式,但我现在不想这样做。

    谢谢!

1 个答案:

答案 0 :(得分:3)

实际上,每个部署都需要运行几个rake任务,以确保清晰:

rails tmp:clear # clears all cache and sockets files.
rails db:schema:cache:clear # Clears a db/schema_cache.dump
rails assets:precompile # Compile all the assets
rails db:migrate 
# ... + a few things I already forgot.
rails restart

手动执行此操作将成为PITA。而是使用Capistrano并设置自动部署过程。使用Capistrano::Rails它应该是即插即用。