0
我在一个静态变量的堆中加载一个大对象。所以当我的ruby实例启动时,需要一段时间才能从redis传输70MB左右的数据到实例的堆中。在红宝石进程之间共享堆
我正在运行Sinatra来托管使用此数据的Web服务,因此当应用程序收到大量请求时,其他实例会产生并将70MB数据传输到它们的堆中。
有没有什么办法可以在实例之间共享这个静态变量?
谢谢!
我在一个静态变量的堆中加载一个大对象。所以当我的ruby实例启动时,需要一段时间才能从redis传输70MB左右的数据到实例的堆中。在红宝石进程之间共享堆
我正在运行Sinatra来托管使用此数据的Web服务,因此当应用程序收到大量请求时,其他实例会产生并将70MB数据传输到它们的堆中。
有没有什么办法可以在实例之间共享这个静态变量?
谢谢!
所以我想通了这是不可能的。 Java可以做到这一点,因为它的虚拟机,但不幸的是红宝石不能。
Redis应该将数据保存在内存中,为什么要在堆上复制它? –
@Mladen我们之前是这么做的,但是通过内存中的哈希访问数据要快得多。 – Moox