2016-08-22 122 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,并将在一天内以基准值进行评论。 –