rake assets:precompile清除tmp / cache

时间:2012-12-18 11:33:33

标签: ruby-on-rails ruby-on-rails-3

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

发现运行rake assets:precompile实际上清除了缓存(请参阅assets.rake for 3.2.3。我不认为每次需要部署时清除缓存都是一个好主意,因为需要时间来清除整件事。

  • 资产管道是否涉及缓存?
  • 为什么要清除它,因为所有内容都编译到public / assets文件夹中?如果我只缓存片段怎么办?
  • 有没有办法在不点击文件存储缓存的情况下使用管道(没有 每次部署时都清除缓存)?

提前致谢!

1 个答案:

答案 0 :(得分:0)

在考虑了一段时间之后,我意识到每次 images 更新时清除缓存都是非常安全的(有时是不可避免的)。

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

对于javascripts和样式表,清除缓存的原因是更新指向application.jsapplication.css文件的链接。但是如果我们小心不将源缓存到JS和CSS文件,清除缓存是多余的。

如果不这样做会导致使用旧的JS和CSS文件。