文件名称:jbuilder_deferred_render:启用延迟渲染的 Jbuilder 插件
文件大小:40KB
文件格式:ZIP
更新时间:2024-07-03 15:53:08
Ruby
Jbuilder延迟渲染 这是一个 gem,它允许通过引入延迟加载资源语法来避免视图层中的 n+1 问题。 这颗宝石目前是 ALPHA 品质。 它已经在生产中使用,但它有一些问题 动机 Jbuilder 延迟渲染允许您直接通过模板避免 n+1 问题。 Jbuilder 是一个很棒的模块,但是人们会遇到众所周知的 n+1 问题。 n+1题的题目如下。 逻辑正确性 视图层知道他们需要哪些属性来呈现结果,并且在视图层中访问模型属性在逻辑上是正确的。 关于性能的实际问题。 但是,访问需要访问外部资源(如 RDBS)的模型属性通常会在逐个访问时变得非常慢。 并且以批量方式访问时可以变得更快。 深度优先渲染策略 通常渲染引擎支持深度优先渲染。 上述场景中的深度优先渲染会导致问题,因为它会从同一资源(即 RDBS 中的同一表)中逐个访问属性,这存在上述性能问题 如何避免n+1问题。 避免 n+1
【文件预览】:
jbuilder_deferred_render-master
----Rakefile(29B)
----jbuilder_ext.rb(0B)
----Gemfile(109B)
----spec()
--------jbuilder_spec.rb(2KB)
--------dummy()
--------rails_helper.rb(2KB)
--------spec_helper.rb(4KB)
----.gitignore(181B)
----lib()
--------jbuilder_deferred_render.rb(180B)
--------jbuilder_deferred_render()
----README.md(3KB)
----LICENSE.txt(1KB)
----jbuilder_deferred_render.gemspec(1KB)