rails会自动缓存静态页面和资产吗?

时间:2013-07-26 04:02:38

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

我一直在阅读有关缓存和所有可用资源的信息,但我不确定是否需要在我的应用中使用像Memcachier这样的第三方加载项。除了首页(静态页面,如主页,关于,联系我们,条款,隐私),所有其他页面都需要身份验证,并且都是动态创建的。它是一个小型社交网络应用程序,因此显示页面,索引页面,编辑页面都是动态创建的。索引操作将不断更新。

我想知道Rails是否会自动缓存我的静态页面和资源,如css,javascript,images?我应该使用什么样的缓存?

1 个答案:

答案 0 :(得分:3)

如果您所谓的静态页面是位于public文件夹中的HTML文件,它们将由您的Web服务器直接提供(例如:Apache),并且请求甚至不通过Rails

如果它们是位于app/views控制器中的文件,则请求通过Rails,并且实现页面或片段缓存可能是个好主意。知道你可以只缓存部分页面,这称为片段缓存,它对于具有静态部分的动态页面很有用。

此外,您可以将缓存链接到记录,因此首次显示与此记录相关的视图时,将生成缓存并将其用于下一个请求。然后,当您修改此记录时,缓存将失效,并且该过程将重新开始。

您的资产不需要缓存,它们是编译的,而不再由生产环境中的Rails解释。

有很多关于缓存的东西,你可以用你的应用程序做很多好事(或者很多错误使用不当)我无法涵盖所有​​内容,让我给你一些指导你很多:

http://railscasts.com/episodes/387-cache-digests

http://railscasts.com/episodes/169-dynamic-page-caching

http://railscasts.com/episodes/93-action-caching

http://railscasts.com/episodes/90-fragment-caching

http://railscasts.com/episodes/89-page-caching