我正在使用R在网络上部署应用程序但是我的应用程序从中获取数据的网址是我的应用程序需要时间的地方所以有没有办法可以缓存这些数据?
因为我试图安装软件包memoise,R.cache和一些服务器都不支持的软件包 最佳答案 我建议尝试Jason Bryer的
DataCache套餐.该软件包可以通过GitHub获得,我今天成功地将它用于我正在开发的Shiny应用程序.
该软件包的主要功能是data.cache.您需要定义一个函数,该函数生成要缓存的对象列表,然后将您定义的函数作为参数传递给data.cache.如果您打算在应用程序中缓存多个对象列表,我还建议设置data.cache的cache.name参数.
例如:
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,并将这些对象缓存到文件系统.再次运行此代码时,将使用这些对象的缓存副本而不是重新生成 – 除非缓存过期. data.cache的频率参数用于设置缓存的到期时间,默认情况下设置为每日.
如果您在Windows下运行该应用程序,则使用该程序包的this slightly modified version.这是为了解决—一个显然是由于缓存文件名与Windows文件系统不兼容的错误.