r इंटरेक्टिव रमार्कडाउन डॉक्टर में बुनना कैश का उपयोग करने के लिए संभव है?



shiny knitr (1)

मैंने देखा है कि जब मेरे पास runtime: shiny साथ एक आरएमडी runtime: shiny YAML में runtime: shiny , कोड भाग कैश से नहीं पढ़ा प्रतीत होता है। मैं सोच रहा हूं कि क्या rmarkdown के लिए चमकदार इंजन का प्रयोग केवल हिस्सा कैशिंग का समर्थन नहीं करता, या क्या मैं कुछ गलत कर रहा हूं?

उदाहरण आरएमडी फ़ाइल:

---
title: "Cache test"
output: html_document
---

```{r cache=TRUE}
Sys.sleep(10)
```

यदि आप इसे 5 बार चलाते हैं, तो केवल पहली बार 10 सेकेंड का समय लगेगा, और बाद में कोई भी रन नहीं हो सकता है।

लेकिन अगर आप runtime: shiny जोड़ते हैं runtime: shiny वाईएएमएल के लिए runtime: shiny विकल्प, फिर हर एक रन में 10 सेकेंड लगेगा।

(पीएस प्रश्न: यह जांच करने के लिए कोई बेहतर तरीका है कि क्या कोड विखंडू कैश इस्तेमाल किया जा रहा है?)


मैं एक ही समस्या में भाग गया, जहां runtime: shiny , cache स्विच को नजरअंदाज किया गया था।

आजकल runtime: shiny_prerendered का उपयोग कर एक वैकल्पिक हल runtime: shiny_prerendered और context="data" cache=TRUE :

---
title: "Cache test"
output: html_document
runtime: shiny_prerendered
---

```{r,context="data", cache=TRUE}
Sys.sleep(10)
```

यह अपेक्षा के अनुरूप व्यवहार करता है; पहले भाग पर, रेंडरिंग 10 सेकंड लेती है; बाद के सभी रनों पर कैश्ड खंड का उपयोग किया जाता है।