2011-03-01 24 views
0

我在一个静态变量的堆中加载一个大对象。所以当我的ruby实例启动时,需要一段时间才能从redis传输70MB左右的数据到实例的堆中。在红宝石进程之间共享堆

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

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

谢谢!

+0

Redis应该将数据保存在内存中,为什么要在堆上复制它? –

+0

@Mladen我们之前是这么做的,但是通过内存中的哈希访问数据要快得多。 – Moox

回答

0

所以我想通了这是不可能的。 Java可以做到这一点,因为它的虚拟机,但不幸的是红宝石不能。