相关疑难解决方法(0)

Jbuilder Rails缓存速度较慢

我试图使用带有集合的缓存(使用多个解决方案)问题是,当我尝试缓存响应变慢时,请考虑下面的集合示例,为其中的每个项目呈现2个部分(大约25个项目)

json.data do
  json.array! @organizations do |organization|
    json.partial! 'api/v1/organizations/organization', organization: organization
    json.partial! 'api/v1/organizations/links', organization: organization
  end
end
Run Code Online (Sandbox Code Playgroud)

没有缓存,平均响应时间约为38毫秒(平均)

现在有了缓存

json.data do
  json.array! @organizations do |organization|
    json.cache! organization do
      json.partial! 'api/v1/organizations/organization', organization: organization
      json.partial! 'api/v1/organizations/links', organization: organization
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

使用jbuilder默认缓存和dalli存储已正确安装和配置(我可以验证没有缓存未命中)

平均响应约为59毫秒(平均)

使用Cache Digest上的语法

json.data do
  json.cache! @organizations do
    json.partial! 'api/v1/organizations/organization', collection: @organizations, as: :organization
    json.partial! 'api/v1/organizations/links', collection: @organizations, as: :organization
  end
end
Run Code Online (Sandbox Code Playgroud)

平均响应时间约为41毫秒(平均),响应时间与其他响应不同

# Instead of getting
[{ data:{}, links:{} }, {{ data:{}, links:{} }]
# I get …
Run Code Online (Sandbox Code Playgroud)

memcached caching jbuilder ruby-on-rails-4 ruby-on-rails-4.2

6
推荐指数
2
解决办法
2998
查看次数