我正在测试 memoise 以在 R 闪亮的应用程序中缓存大数据帧。它在我的本地 Windows 机器上运行良好,但是一旦我在 Linux 服务器上部署代码,不知何故,memoise 似乎没有做任何事情,每次我尝试调用 memoise 函数时,它都需要永远加载。因此我的问题是:是否需要更改特定设置才能在 linux 服务器上有效运行?示例代码(真实代码从数据库加载数据帧并处理数据):
ui <- dashboardPage( # https://rstudio.github.io/shinydashboard/structure.html
title = "Dashboard",
dashboardHeader(title = "Angelo's Board"),
dashboardSidebar( # inside here everything that is displayed on the left hand side
includeCSS("www/styles.css"),
sidebarMenu(
menuItem('menu 1', tabName = "menu1", icon = icon("th"),
menuItem('Data 1', tabName = 'tab_data1'))
)),
dashboardBody(
tabItems(
tabItem(tabName = 'tab_data1')),
h3("Page with big table"),
fluidRow(dataTableOutput("main_table"))
))
server <- function(input, output, session) {
func_create_df <- function(){
df <- data.frame(names = c("Mark","George","Mary"), age = c(30,40,35))
df
}
func_create_df_mem <- memoise(func_create_df, ~timeout(1))
output$main_tabl <- renderDataTable({
df <- func_create_df_mem()
})
}
cat("\nLaunching 'shinyApp' ....")
shinyApp(ui, server)
作为一个不太重要的问题,这里描述的超时功能(https://blog.rstudio.com/2016/02/02/memoise-1-0-0/)似乎也没有任何作用。