【发布时间】:2020-08-26 19:49:13
【问题描述】:
有没有办法将散列或 json 呈现给变量?
案例: 带有 react/redux、postgres 的 Rails-app
def index
start = Time.now
c = Customer.all.first(1000)
respond_to do |format|
format.json { render json: c,
except: [:created_at, :updated_at],
include: [{addresses: {except: [:created_at, :updated_at, :country, :canton],
methods: [:canton_name, :country_name]}},
{latest_order: {only: [:date, :title]}}]
}
end
write_log(c, start)
end
我想生成一个嵌套哈希,例如客户、位置和最新订单,并将其缓存。
1000 位客户的性能测试:
上面的代码:5.3 秒
渲染相同的 json
fast_jsonapi 4.9 秒
cache_crispies 5.2 秒
最后,上面的方法和序列化器一样快,但更简单。
但是,对于 10.000 个客户,使用 rails-render-method 生成 json (2.5MB) 的时间大约需要 50 秒。 所以,如果必须缓存它。
其他问题: 遇到这种情况,你有什么经验?
最好的问候, 克里斯
【问题讨论】:
标签: ruby-on-rails serialization