3

我知道我可以通过将一些对象放在所有用户会话中共享它们server.R,但在调用之外shinyServer()。但是,即使没有人使用该应用程序,有没有办法将这些对象存储在内存中?我从磁盘加载这些共享对象需要很长时间,所以我想通过“永久”加载它们来为用户加快速度。

4

2 回答 2

4

创建一个文件 global.R 并将加载数据的代码放在那里。但是,如果服务器休眠或重置,内存中的信息将会丢失。

shinyapps.io 有一个设置“实例空闲超时”,您可以设置它以延长应用程序的生命周期。您还可以在闪亮服务器的配置文件中设置一个值。请参阅下面的链接

http://rstudio.github.io/shiny-server/latest/#application-timeouts

于 2015-07-15T09:10:45.063 回答
2

您可能要考虑的一件事是使用全局/封闭环境赋值运算符:

globalconst <<- x + y

这可以用来将变量直接暴露给全局环境,并在 Shiny 会话之间持续存在。

或者,您可以选择使用该assign()功能选择您要设置的环境;我相信有一个系统变量来处理环境:https ://stat.ethz.ch/R-manual/R-devel/library/base/html/assign.html

于 2015-07-14T20:26:32.697 回答