0
我在一個靜態變量的堆中加載一個大對象。所以當我的ruby實例啓動時,需要一段時間才能從redis傳輸70MB左右的數據到實例的堆中。在紅寶石進程之間共享堆
我正在運行Sinatra來託管使用此數據的Web服務,因此當應用程序收到大量請求時,其他實例會產生並將70MB數據傳輸到它們的堆中。
有沒有什麼辦法可以在實例之間共享這個靜態變量?
謝謝!
我在一個靜態變量的堆中加載一個大對象。所以當我的ruby實例啓動時,需要一段時間才能從redis傳輸70MB左右的數據到實例的堆中。在紅寶石進程之間共享堆
我正在運行Sinatra來託管使用此數據的Web服務,因此當應用程序收到大量請求時,其他實例會產生並將70MB數據傳輸到它們的堆中。
有沒有什麼辦法可以在實例之間共享這個靜態變量?
謝謝!
所以我想通了這是不可能的。 Java可以做到這一點,因爲它的虛擬機,但不幸的是紅寶石不能。
Redis應該將數據保存在內存中,爲什麼要在堆上覆制它? –
@Mladen我們之前是這麼做的,但是通過內存中的哈希訪問數據要快得多。 – Moox