如何缓存渲染:JSON
-
26-09-2019 - |
题
我有一个控制器索引动作返回JSON输出。
render :json => my_array.to_json
什么类型的缓存我必须在这里使用。对于这是否“页面缓存”是有意义的。
还是我必须做动作缓存象下面
caches_action :index
解决方案
无论哪种动作缓存或页面缓存会工作得很好;页面缓存将有从未调用堆栈Rails的好处,但它取决于你是否需要控制谁可以访问该JSON提要。
我使用页面缓存的忠实粉丝,如果你能摆脱它 - 有对系统资源大大节省可拿。 :)
编辑:页面缓存例如,在情况下,没有任何混淆:
class SomeController < ApplicationController
caches_page :index
def index
render :json => my_array.to_json
end
end
除非我误解的东西,这应该是所有你需要做的。
其他提示
相同的考虑应适用于JSON作为任何其他输出。如果您需要验证访问用户的数据,那么动作缓存是要走的路,否则页面缓存应该罚款。
如果由于您的应用程序逻辑数据变化,那么缓存的两种形式是有问题的,你最好使用别的东西。
不隶属于 StackOverflow