gpt4 book ai didi

ruby-on-rails - 在 Ruby 中,将非常大的局部变量复制到实例变量会重复内存需求

转载 作者:太空宇宙 更新时间:2023-11-03 16:46:17 24 4
gpt4 key购买 nike

我正在将一些非常大的多维哈希值传递给报 TableView 。因为我使用的是 Heroku,所以我过度运行了我的内存分配。因为我必须复制这些变量来传递它们,所以我将这个要求加倍了。我正在考虑使用 Redis 来存储和访问变量,但这是一项重大的工作。在传递这些变量时我是否遗漏了什么,以至于我不会在过程中复制它们?

report.rb 的调用是:

message = KacMailer.daily_report(@associates, @managers, @assoc_wi_mgr, @assoc_sort, @issues, @items, @keys)

kac_mailer 然后复制变量以将它们传递给报告 View :(编辑:添加局部变量赋值给 nil)

  def daily_report(associates, managers, assoc_wi_mgr, assoc_sorted, issues, items, keys)
@associates = associates
associates = nil
@managers = managers
managers = nil
@assoc_wi_mgr = assoc_wi_mgr
assoc_wi_mgr = nil
@assoc_sorted = assoc_sorted
assoc_sorted = nil
@issues = issues
issues = nil
@items = items
items = nil
@keys = keys
keys = nil

support_mail = mail(to: $kac.support, subject: 'Daily Report', from: $kac.support) do |format|
format.html { render 'kac_mailer/daily_report' }

end
end

最佳答案

这里没有重复,只有引用——不会重复数据。

复制意味着创建大型结构的克隆/副本。再次引用数据只会添加新的引用。

关于ruby-on-rails - 在 Ruby 中,将非常大的局部变量复制到实例变量会重复内存需求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32553003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com