我正在使用R在网络上部署应用程序,但我的应用程序从中获取数据的网址是我的应用程序需要时间的地方所以有没有办法可以缓存这些数据? 因为我试图安装软件包备忘录,R.cache以及其他一些服务器都不支持
答案 0 :(得分:3)
我建议Jason Bryer尝试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_numbers
和uniform_random_numbers
,并将这些对象缓存到文件系统。再次运行此代码时,将使用这些对象的缓存副本而不是重新生成 - 除非缓存过期。 frequency
data.cache
参数用于设置缓存的到期时间,默认设置为daily
。
如果您在Windows下运行该应用程序,请使用该程序包的this slightly modified version。这是为了解决---一个显然是由于缓存文件名与Windows文件系统不兼容而导致的错误。
答案 1 :(得分:0)