Ruby on rails rake资产:预编译清除tmp/缓存

Ruby on rails rake资产:预编译清除tmp/缓存,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一个Rails 3.2.3应用程序,在文件存储中有一个很大的缓存。清除整个缓存需要30分钟。我正在尝试迁移应用程序以使用资产管道 发现运行rake assets:precompile实际上会清除缓存(请参阅)。考虑到清除整个过程所需的时间,我认为每次需要部署时清除缓存不是一个好主意 资产管道是否涉及缓存 既然所有内容都编译到public/assets文件夹,为什么要清除它呢?如果我只是缓存片段呢 有没有一种方法可以在不命中文件存储缓存的情况下使用管道 每次部署时都清除缓存) 提前感谢!经

我有一个Rails 3.2.3应用程序,在文件存储中有一个很大的缓存。清除整个缓存需要30分钟。我正在尝试迁移应用程序以使用资产管道

发现运行
rake assets:precompile
实际上会清除缓存(请参阅)。考虑到清除整个过程所需的时间,我认为每次需要部署时清除缓存不是一个好主意

  • 资产管道是否涉及缓存
  • 既然所有内容都编译到public/assets文件夹,为什么要清除它呢?如果我只是缓存片段呢
  • 有没有一种方法可以在不命中文件存储缓存的情况下使用管道 每次部署时都清除缓存)

提前感谢!

经过一段时间的思考,我意识到每次更新图像时清除缓存是非常安全的(有时是不可避免的)

如果
config.assets.digest=true
,则在更新图像时,需要更新并破坏缓存页面/片段中指向图像的链接,以便使用新图像。如果清理了资产,则无法清理缓存将导致死链接,或者直到浏览器丢失缓存

至于Java脚本和样式表,清除缓存的原因是更新到
application.js
application.css
文件的链接。但是如果我们小心地不将源缓存到js和css文件,清除缓存是多余的

否则将导致使用旧的JS和CSS文件