Dea*_*ali 9 r knitr r-markdown shiny shiny-server
我注意到当我runtime: shiny在YAML中有一个Rmd时,似乎没有从缓存中读取代码块.我想知道是否使用闪亮引擎进行rmarkdown只是不支持块缓存,或者我做错了什么?
示例Rmd文件:
---
title: "Cache test"
output: html_document
---
```{r cache=TRUE}
Sys.sleep(10)
```
Run Code Online (Sandbox Code Playgroud)
如果你运行5次,只有第一次需要10秒,任何后续运行都会很快.
但是如果你将runtime: shiny选项添加到YAML,那么每次运行都需要10秒.
(PS问题:有没有更好的方法来测试是否正在使用代码块缓存?)
小智 2
我遇到了同样的问题,在 中runtime: shiny,cache开关被忽略了。
现在有一个解决方法,使用runtime: shiny_prerenderedand context="data"with cache=TRUE:
---
title: "Cache test"
output: html_document
runtime: shiny_prerendered
---
```{r,context="data", cache=TRUE}
Sys.sleep(10)
```
Run Code Online (Sandbox Code Playgroud)
这符合预期;第一次运行时,渲染需要 10 秒;在所有后续运行中,都会使用缓存的块。