0

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

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

4

1 回答 1

4

如果您所说的静态页面是位于您的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

于 2013-07-26T04:14:45.687 回答