我目前在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上下文中对于我正在做的事情来说太慢了。