2016-08-22 158 views
1

我有一個閃亮的應用程序,在global.R中有大約5 GB的數據加載。對於第一個應用程序用戶,應用程序頁面加載時間大約爲3到4分鐘,因爲在應用程序啓動期間必須從磁盤讀取所有全局數據。R閃亮應用程序中的持久R會話

但是對於後續用戶(第二或第三用戶),由於應用程序使用先前加載的內存中的全局數據,所以頁面加載是立即進行的。

是否有辦法讓Shiny App的R進程在內存中保留,即使所有用戶都註銷了。這樣,每當新用戶訪問應用程序,它會立即加載?

回答

1

我猜你正在使用.RData二進制表示的數據,這比大多數要讀取的文件快得多,但仍然很慢。

因此,您是否嘗試過運行RServe會話? (https://www.rforge.net/Rserve/)。這可以讓您的數據在其中可用,然後傳遞相關的查詢/命令來檢索數據。

另一種方法是更快的實例化數據集,可能是ffdf文件。

+0

謝謝NJBurgo。我將測試ffdf文件格式以及Rserve,並將在一天內以基準值進行評論。 –