В настоящее время у меня возникают проблемы с кэшированием элементов для использования в Shiny (в R), и я хотел бы знать правильный способ сделать это.Примером может быть то, что мне нужно загрузить большой файл data.table, используя readRDS, который затем разрезается и нарезается кубиками различными способами и создается несколько диаграмм.Я могу легко кэшировать загрузку файла, используя
LoadFile <- memoise(function(filepath) {...})
. Однако у меня возникают проблемы при попытке кэшировать результаты вычислений.Если у меня есть
f(data.table, data.table)
, то памятование f, похоже, не помогает, поскольку я не наблюдаю ускорения и очень похожее время между первым и последующими вызовами, указывающее на отсутствие кэширования.
Это известный недостаток памятки?Существуют ли какие-либо другие библиотеки кеширования, которые я могу использовать, чтобы обойти проблемы шаблона проектирования
cachefunction(myfunction(param1,param2))
?А именно, что если param1 и param2 являются большими сложными типами данных, то формулировка ключа занимает много времени и / или может происходить неправильно.
В этом случае я действительно хочу чего-то большего от дизайна
cache(mykey, myvalue, [expiry date/time])
Кеширование на основе памяти - это то, чем я занимаюсь в идеале, поскольку кеширование на основе файлов слишком медленное в веб-контексте для меня.делает.