我有一个控制器索引操作,它返回json输出。如何缓存渲染:json
render :json => my_array.to_json
我必须在这里使用什么类型的缓存。 '页面缓存'对此是否有意义。
或做我必须做的动作缓存像下面
caches_action :index
我有一个控制器索引操作,它返回json输出。如何缓存渲染: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。如果您需要验证用户对数据的访问权限,则可以采取行动缓存,否则页面缓存应该没问题。
如果由于应用程序中的逻辑而导致数据更改,那么这两种缓存形式都有问题,您最好使用其他方法。
如何为json指定页面缓存?在我看来,我没有任何模板? – user290870 2010-05-12 07:39:05
如何为json指定页面缓存。在我看来,我没有任何模板? – user290870 2010-05-12 07:33:23
你应该能够在控制器中指定它,并将代码添加到我的答案中。 – robotmay 2010-05-12 07:41:01
谢谢!我认为页面缓存需要缓存的视图名称作为'caches_page'的参数而不是操作。 – user290870 2010-05-12 08:10:52