如何在闪亮的服务器中缓存数据? [英] How to cache data in shiny server?

查看:14
本文介绍了如何在闪亮的服务器中缓存数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

推荐答案

我推荐试用Jason Bryer的DataCache包。该软件包可通过GitHub获得,我今天成功地将其用于我正在开发的一款闪亮的应用程序。

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

例如:

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,并将它们缓存到文件系统。当您再次运行此代码时,将使用这些对象的缓存副本,而不是重新生成-当然,除非缓存过期。data.cachefrequency参数用于设置缓存过期时间,默认设置为daily

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

这篇关于如何在闪亮的服务器中缓存数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆