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