gpt4 book ai didi

r - 如何在 Shiny 的服务器中缓存数据?

转载 作者:行者123 更新时间:2023-12-04 20:35:48 26 4
gpt4 key购买 nike

我正在使用 R 在网络上部署应用程序,但我的应用程序从中获取数据的 URL 是我的应用程序需要时间的地方。是否可以缓存该数据?
我尝试安装 memoise、R.cache 和其他一些服务器不支持的软件包。

最佳答案

我建议尝试 DataCache杰森·布莱尔的包裹。该软件包可通过 GitHub 获得,我今天成功地将它用于我正在开发的 Shiny 应用程序。

该包的主要功能是 data.cache .您需要定义一个函数来生成要缓存的对象列表,然后将您定义的函数作为参数传递给 data.cache .我还建议设置 cache.name data.cache 的参数如果您打算在应用程序中缓存多个对象列表。

例如:

DataCache::data.cache(
function(){
list(
normal_random_numbers = rnorm(10),
uniform_random_numbers = runif(10)
)
},
cache.name = 'my_random_numbers'
)

上面的代码在本地环境中创建了两个对象, normal_random_numbersuniform_random_numbers ,以及将这些缓存到文件系统。当您再次运行此代码时,将使用这些对象的缓存副本而不是重新生成 - 当然除非缓存过期。 frequency data.cache 的参数用于设置缓存的过期时间,设置为 daily默认情况下。

如果您在 Windows 下运行该应用程序,请使用 this slightly modified version的包。这是为了解决 --- 一个明显是由于缓存文件名与 Windows 文件系统不兼容的错误。

关于r - 如何在 Shiny 的服务器中缓存数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36026881/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com