【问题标题】:Sharing heap between ruby processes在 ruby​​ 进程之间共享堆
【发布时间】:2011-07-06 18:08:15
【问题描述】:

我在静态变量的堆中加载一个大对象。因此,当我的 ruby​​ 实例启动时,需要一段时间才能将 70MB 左右的数据从 redis 传输到实例的堆中。

我正在运行 Sinatra 来托管使用此数据的 Web 服务,因此当应用程序接收到大量请求时,会产生其他实例并将 70MB 的数据传输到它们的堆中。

有什么方法可以在实例之间共享这个静态变量?

谢谢!

【问题讨论】:

  • Redis 也应该将数据保存在内存中,为什么要在堆上复制它?
  • @Mladen 我们之前也这样做过,但是通过内存中的哈希访问数据要快得多。

标签: ruby heap-memory sharing


【解决方案1】:

所以我发现这是不可能的。 Java 可以这样做是因为它的虚拟机,但不幸的是 ruby​​ 不能。

【讨论】:

    猜你喜欢
    • 2012-09-27
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 2012-04-09
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    相关资源
    最近更新 更多