R:在已部署的 ShinyApp 中仅加载一次 .RData
R : Load only once a .RData in a deployed ShinyApp
我需要使用 Shiny Server 部署一个 ShinyApp。 运行,我的应用程序需要来自 .RData
文件(~300 Mo)的数据。此 .RData
文件加载了位于 global.R
文件中的 load(...)
语句。
电脑的功能,加载可能需要几分钟,对用户不友好。
我们如何做才能使 .RDate
文件只加载一次,这样每个新用户都不需要重新加载 .RData
文件?
谢谢。
如果您在 global.R
中加载对象,那么应该只加载一次。第一个用户之后的每个用户都应该可以快速访问您的应用程序。
如果您在本地开发您的应用程序,您可以通过以下方式测试我所说的内容。例如,使用
启动您的应用程序
runApp(port=5050)
只是为了设置端口。您的浏览器需要一些时间来显示该应用程序。加载后,记下你的应用程序的地址(应该是127.0.0.1:5050
),关闭应用程序的浏览器选项卡(但不要停止R!),打开一个新选项卡并将上面的地址放入地址酒吧。现在,访问您的应用程序应该非常快。
这只是说,只要 shiny 启动并且 运行,global.R
中的命令就会在开始时执行,并将它们的评估放在 R 全局环境中。它们不会在用户连接到应用程序时执行。
另请考虑,如果使用 compress=FALSE
参数保存 Rdata
,则可以加快加载速度。这样,你的文件会更大,但加载速度会更快。
我需要使用 Shiny Server 部署一个 ShinyApp。 运行,我的应用程序需要来自 .RData
文件(~300 Mo)的数据。此 .RData
文件加载了位于 global.R
文件中的 load(...)
语句。
电脑的功能,加载可能需要几分钟,对用户不友好。
我们如何做才能使 .RDate
文件只加载一次,这样每个新用户都不需要重新加载 .RData
文件?
谢谢。
如果您在 global.R
中加载对象,那么应该只加载一次。第一个用户之后的每个用户都应该可以快速访问您的应用程序。
如果您在本地开发您的应用程序,您可以通过以下方式测试我所说的内容。例如,使用
启动您的应用程序 runApp(port=5050)
只是为了设置端口。您的浏览器需要一些时间来显示该应用程序。加载后,记下你的应用程序的地址(应该是127.0.0.1:5050
),关闭应用程序的浏览器选项卡(但不要停止R!),打开一个新选项卡并将上面的地址放入地址酒吧。现在,访问您的应用程序应该非常快。
这只是说,只要 shiny 启动并且 运行,global.R
中的命令就会在开始时执行,并将它们的评估放在 R 全局环境中。它们不会在用户连接到应用程序时执行。
另请考虑,如果使用 compress=FALSE
参数保存 Rdata
,则可以加快加载速度。这样,你的文件会更大,但加载速度会更快。