2011-03-01 23 views
0

我在一個靜態變量的堆中加載一個大對象。所以當我的ruby實例啓動時,需要一段時間才能從redis傳輸70MB左右的數據到實例的堆中。在紅寶石進程之間共享堆

我正在運行Sinatra來託管使用此數據的Web服務,因此當應用程序收到大量請求時,其他實例會產生並將70MB數據傳輸到它們的堆中。

有沒有什麼辦法可以在實例之間共享這個靜態變量?

謝謝!

+0

Redis應該將數據保存在內存中,爲什麼要在堆上覆制它? –

+0

@Mladen我們之前是這麼做的,但是通過內存中的哈希訪問數據要快得多。 – Moox

回答

0

所以我想通了這是不可能的。 Java可以做到這一點,因爲它的虛擬機,但不幸的是紅寶石不能。