R:如何在Shiny中将项目缓存在内存中?

时间:2018-09-28 05:34:21

标签: r caching memory shiny memoise

我目前在Shiny(在R中)中使用缓存项时遇到问题,并且想知道执行此操作的正确方法。 一个例子是,我需要使用readRDS加载一个大的data.table,然后以各种方式对其进行切片和切块,并创建许多图表。我可以使用

轻松缓存文件加载
LoadFile <- memoise(function(filepath) {...})

但是,当我尝试缓存计算结果时遇到了问题。如果有

f(data.table, data.table)

然后记笔记f似乎无济于事,因为我没有看到速度加快,并且在第一次调用与后续调用之间的时间非常相似,这表明没有进行缓存。

这是备忘录的已知缺点吗?我还有其他可以用来解决

问题的缓存库吗?
cachefunction(myfunction(param1,param2))

设计模式?即,如果param1和param2是大型的复杂数据类型,则制定密钥很耗时和/或可能无法正确进行。

在这种情况下,我真的想要更多的设计

cache(mykey, myvalue, [expiry date/time])

基于内存的缓存是我的理想选择,因为基于文件的缓存在Web上下文中对于我正在做的事情来说太慢了。

0 个答案:

没有答案